Node.js 利用cheerio制作简单的网页爬虫示例

本文介绍了Node.js 利用cheerio制作简单的网页爬虫示例,分享给大家,具有如下:

1. 目标

    完成对网站的标题信息获取
    将获取到的信息输出在一个新文件
    工具: cheerio,使用npm下载npm install cheerio
    cheerio的API使用方法和jQuery的使用方法基本一致
    如果熟练使用jQuery,那么cheerio将会很快上手

2. 代码部分

介绍: 获取segment fault页面的列表标题,将获取到的标题列表编号,最终输出到pageTitle.txt文件里

const https = require(\'https\');
const fs = require(\'fs\');
const cheerio = require(\'cheerio\');
const url = \'https://segmentfault.com/\';

https.get(url, (res) => {
  let html = \'\';
  res.on(\'data\', (data) => {
    html += data;
  });
  res.on(\'end\', () => {
    getPageTitle(html);
  });
}).on(\'error\', () => {
  console.log(\'获取网页信息错误\');
});

function getPageTitle(html) {
  const $ = cheerio.load(html);
  let chapters = $(\'.news__item-title\');
  let data = [];
  let index = 0;
  let fileName = \'pageTitle.txt\';
  for (let i = 0; i < chapters.length; i++) {
    let chapterTitle = $(chapters[i]).find(\'a\').text().trim();
    index++;
    data.push(`\\n${index}, ${chapterTitle}`);
  }
  fs.writeFile(fileName, data, \'utf8\', (err) => {
    if (err) {
      console.log(\'fs文件系统创建新文件失败\', err);
    }
    console.log(`已成功将获取到的标题放入新文件${fileName}文件中`)
  })
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容