Node.js 利用cheerio制作简单的网页爬虫示例
更新时间:2018年03月01日 09:44:13 作者:Karuru
本篇文章主要介绍了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}文件中`)
})
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
nodejs清空/删除指定文件夹下面所有文件或文件夹的方法示例
这篇文章主要介绍了nodejs清空/删除指定文件夹下面所有文件或文件夹的方法,通过两个具体案例形式分析了node.js同步删除文件/文件夹,以及异步删除文件/文件夹的相关实现技巧,涉及递归遍历与文件判断、回调等相关操作,需要的朋友可以参考下2023-04-04
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
这篇文章主要介绍了Linux下为Node.js程序配置MySQL或Oracle数据库的方法,这里默认已经装配好了Node环境然后我们利用npm包管理工具来进行配置,需要的朋友可以参考下2016-03-03
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
这篇文章主要介绍了node.js使用免费的阿里云ip查询获取ip所在地的相关知识,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下2018-09-09
Node.js+pm2+ssh2模块实现简单的自动化部署脚本
本文将介绍如何使用Node.js和ssh2模块实现一个简单的部署脚本,将本地的项目文件上传到远程服务器上,我们将使用dotenv模块来管理环境变量,以及child_process模块来执行命令行操作2023-10-10
解决npm install版本不匹配问题: npm ERR! code ETARGET npm ERR!
这篇文章主要介绍了如何解决npm install版本不匹配问题: npm ERR! code ETARGET npm ERR! notarget No matching version found for,文中给出了详细的解决方法,需要的朋友可以参考下2024-02-02


最新评论