博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node.js学习之路22——利用cheerio制作简单的网页爬虫
阅读量:6839 次
发布时间:2019-06-26

本文共 1097 字,大约阅读时间需要 3 分钟。

利用cheerio制作简单的网页爬虫

1. 目标

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

2. 代码部分

介绍: 获取 页面的列表标题,将获取到的标题列表编号,最终输出到
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}文件中`)    })}

转载地址:http://rkhkl.baihongyu.com/

你可能感兴趣的文章
选择HttpHandler还是HttpModule?
查看>>
HTC Desire 金卡制作方法
查看>>
C#高性能大容量SOCKET并发(十):SocketAsyncEventArgs线程模型
查看>>
phpcurl 请求Chunked-Encoded data 遇到的一个问题
查看>>
ASPX页面中不放置Form元素的问题
查看>>
docker~Dockerfile优化程序的部署
查看>>
你可能不需要一个 JavaScript 框架(二)
查看>>
【Android】显示Emoji表情字符
查看>>
C++ Exercises(十八)
查看>>
21.5. 流量控制
查看>>
WSRP调用中的一些问题
查看>>
Android 正则表达式
查看>>
5.22. Spring boot with Cache
查看>>
[裴礼文数学分析中的典型问题与方法习题参考解答]4.3.13
查看>>
string Join
查看>>
flaskr 报错及其修改
查看>>
[唐诗]入朝洛堤步月-上官仪
查看>>
ORACLE SQL开发where子句之case-when
查看>>
姚期智:这是一个“前所未有”的金融科技与计算机科学的黄金时代
查看>>
Linux 批量依赖库拷贝(ldd)
查看>>