一个Node.js的小爬虫
爬虫其实就是对网页内特定id、class、标签内容的提取,多是循环出来的,对我们爬取非常便利。
1.安装node
node官网下载安装包安装,后在命令行工具中输入node -v查看node安装的版本。
2.实现项目
创建项目并进入
mkdir node-worm && cd node-worm
初始化项目环境,一路回车
npm init
安装依赖
npm install request cheerio --save-dev
在项目根目录创建app.js并写入以下代码
var request = require('request') var cheerio = require('cheerio') var reqUrl = '//www.cnblogs.com/e-cat/' request(reqUrl, function (err, result) { if (err) { console.log(err) } let $ = cheerio.load(result.body) let list = [] $('#main #mainContent .forFlow .day').each((index, element) => { let date = $($(`${element.name} .dayTitle a`)[index]).text() || '' let title = $($(`${element.name} .postTitle a span`)[index]).text() let desc = $($(`${element.name} .postCon .c_b_p_desc`)[index]).text() let href = $($(`${element.name} .postTitle a`)[index]).attr('href') let obj = { date, title, desc, href, } list.push(obj) }) console.log(list) })
其中reqUrl为爬取目标网址,提取的obj即为最终获取的内容结构。