nodejs可以做爬虫吗?nodejs如何爬取文章详情页面?nodejs做爬虫爬取详情页面。最近闲置时间学了点node,发现它可以像python一样做爬虫咦!然后根着《10分钟教你撸一个nodejs爬虫系统》我比这写了自己网站的规则,发现真的爬成功了,哇!好期待自己变成爬虫高手哦!上次我写了爬取自己网站首页列表的爬虫规则,那么有了url内容链接,接下来跟着把网站内容也爬出来!

爬取步骤:

1.index.js循环体加入回调函数,用来爬取每篇的内容

data.forEach(function (item, index) {
        getArticle(item,index);
});

2.getArticle方法重写文章详情的规则,并写入指定文件

function getArticle(item,index) {
    // 拼接请求地址
      let url = item.url;
       /**
     * 核心业务
     * 发请求,解析数据,生成数据
     */
        superagent.get(url).end(function (err, res) {
            // 抛错拦截
        if (err) {
            return  console.log(err);
        }
            // 解析数据
            let $ = cheerio.load(res.text);
            // 获取容器,存放在变量里,方便获取
            let data = {};
            // 获取数据
            data.title = replaceText($('div.post').find('h1').text());
            data.author = replaceText($('div.post').find('q').text());
            data.time = replaceText($('div.post').find('time').text());
            data.content = replaceText($('div.post').find('.post-content').text());
           // 生成数据
           if(data != ''){
            // 写入数据, 文件不存在会自动创建
            console.log(data);
            fs.writeFile(__dirname + '/data/' + index + '.json', JSON.stringify({
                status: 0,
                data: data
            }), function (err) {
                if (err) console.log(err);
                console.log('写入完成');
            });
           }
           
        });
}

3.为避免无法创建文件,请手动建指定的文件夹,然后启动爬虫文件

node index.js

效果如下:

nodejs做爬虫爬取文章详情页面-Qui-Note