nodejs爬文章(一)

 前言

前端自学弄着玩的,没啥用,爬取文章,

准备工作

准备一台电脑,node环境安装,vscode编辑器(我个人喜欢vscode)然后应该ok了

开始咱们的偷东西吧(哈哈哈)

1.随便找个你放文件的的文件夹新建一个文件夹

2.在文件的上面文件输入cmd

3.在命令窗口,输入 npm init ,一直回车即可

就会出现如下图(可能没有我这个样子,只是为了装依赖)

4.安装request和cheerio模块即可

npm i request  cheerio 

5.安装完毕,新建一个app.js文件,在里面输入以下代码:

const request = require('request');
const cheerio = require('cheerio');
const fs = require('fs')

const url = 'https://news.baidu.com/';

request(url, function (error, response, body) {
  // 如果请求成功且状态码为 200
  if (!error && response.statusCode == 200) {
    // 使用 cheerio 加载 HTML 文档
    const $ = cheerio.load(body);

    // 存储获取到的数据
    const totalData = []
    
    // 获取hotnews下全部的li元素
    $('.ulist').find('li').each(function (index, value){
        // 向数组中存放数据
        totalData.push({
            title: $(value).find('a').text(),
            href: $(value).find('a').attr('href')
        })
    })
    writeFs(totalData)
    // 打印结果
    console.log(totalData)
  }
});

function writeFs(totalData){
    fs.writeFile('./ulist.json', JSON.stringify(totalData), function (err, data) {
        if (err) {
            throw err
        }
        console.log('数据保存成功');
    })
}

6.运行结果(会生成一个json文件,格式随便你处理,也可以使用第三方插件,将数据处理成流的形式,导出文档例如word,excel等)

7.完毕啦

结束语

这就是简单的爬取文章,哈哈哈,有什么不对的地方欢迎大家指教,好像这个request模块已经不更新了,这算上古时期的request模块了,好像有个新的模块!

上一篇:前端长度单位的区别是什么?


下一篇:CSMM(软件能力成熟度模型)介绍