1、新建一个项目
- 新建一个文件夹
- 安装依赖 cnpm i --save PACKAGE_NAME
- 写应用逻辑
2、核心逻辑
实现爬虫需要用到三个依赖,分别是express
、superagent
、cheerio
superagent
是个http方面的库,可以发起get或post请求
cheerio
可理解为Node.js版的jQuery,用来从网页中以css selector取数据,使用方式跟 jquery 一样的。
完整的代码如下
var express = require('express');
var superagent = require('superagent');
var charset = require("superagent-charset");
var cheerio = require('cheerio');
charset(superagent);
var app = express();
app.get('/', function (req, res, next) {
// 用 superagent 去抓取 https://blog.csdn.net/ 的内容
superagent.get('https://blog.csdn.net/')
.end(function (err, sres) {
// 常规的错误处理
if (err) {
return next(err);
}
// sres.text 里面存储着网页的 html 内容,将它传给 cheerio.load 之后
// 就可以得到一个实现了 jquery 接口的变量,我们习惯性地将它命名为 `$`
var $ = cheerio.load(sres.text);
var items = [];
$('.clearfix .list_con .title h2 a').each(function (idx, element) {
var $element = $(element);
items.push({
title: $element.text().trim(),
href: $element.attr('href')
});
});
res.send(items);
});
});
app.listen(3001, function () {
console.log('app is listenling at port 3001');
});
结果: