JavaScript

超轻量级php框架startmvc

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

更新时间:2020-06-29 22:18:01 作者:startmvc
本文介绍了Node.js利用cheerio制作简单的网页爬虫示例,分享给大家,具有如下:1.目标完成

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

1. 目标

  1. 完成对网站的标题信息获取
  2. 将获取到的信息输出在一个新文件
  3. 工具: cheerio,使用npm下载npm install cheerio
  4. cheerio的API使用方法和jQuery的使用方法基本一致
  5. 如果熟练使用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}文件中`)
 })
}

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

Node cheerio 网页爬虫 cheerio 爬虫