本文介绍了Node.js 利用cheerio制作简单的网页爬虫示例,分享给大家,具有如下:
1. 目标
- 完成对网站的标题信息获取
- 将获取到的信息输出在一个新文件
- 工具: cheerio,使用npm下载npm install cheerio
- cheerio的API使用方法和jQuery的使用方法基本一致
- 如果熟练使用jQuery,那么cheerio将会很快上手
2. 代码部分
介绍: 获取segment fault页面的列表标题,将获取到的标题列表编号,最终输出到pageTitle.txt文件里
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(已成功将<a href="https://www.jb51.cc/tag/huoqu/" target="_blank" class="keywords">获取</a>到的<a href="https://www.jb51.cc/tag/biaoti/" target="_blank" class="keywords">标题</a>放入新<a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a>${fileName}<a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a>中
)
})
}