nodejs可以做爬虫吗?nodejs如何爬取文章列表?nodejs做爬虫爬取文章列表,原来这么简单。最近闲置时间学了点node,发现它可以像python一样做爬虫咦!然后根着《10分钟教你撸一个nodejs爬虫系统》我比这写了自己网站的规则,发现真的爬成功了,哇,好期待自己变成爬虫高手哦!

说在前面:我自己以自己域名为例,是练习,请自己找网站练习获取数据列表的规则!每个html不一样,规则是不一样的!

nodejs做爬虫步骤:

1.安装依赖cheerio,superagent

npm install superagent cheerio --save 

2.创建index.js并引入依赖

const superagent = require('superagent');
const cheerio = require('cheerio');
var fs = require('fs');

3.通过jquery选择器的方法获取需要的参数

superagent.get(reptileUrl).end(function (err, res) {
    // 抛错拦截
     if(err){
         return console.log(err);
     }
    // 等待 code
    console.log("链接通了!");
    let $ = cheerio.load(res.text);
    let data = [];
    // 获取数据
    $('.list-box li').each(function (i, elem) {
        let _this = $(elem);
        data.push({
            url: _this.find('a').attr('href'),
            title: replaceText(_this.find('a').attr('title')),
            time: replaceText(_this.find('time').text())
        });
    });

    // 写入数据, 文件不存在会自动创建
    fs.writeFile(__dirname + '/a.json', JSON.stringify({
        status: 0,
        data: data
    }), function (err) {
        if (err) console.log(err);
        console.log('写入完成');
    });
});

function replaceText(text){
    return text.replace(/\n/g, "").replace(/\s/g, "");
}

4.记得创建a.json文件,否则可能会没有权限导致失败!

5.运行js文件

node index.js

结果如下:

nodejs做爬虫爬取文章列表-Qui-Note