Node.JS登顶之路-爬虫基础

本节主要讲述Node.JS登顶之路-爬虫基础

目标

输出segmentfault社区首页的所有帖子标题和链接,以 json 的形式。

步骤

第一步:

我们这回需要用到三个依赖,分别是 express,superagent 和 cheerio

第二步:

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
var superagent=require('superagent');
var cheerio=require('cheerio');

var express=require('express');

var app=express();

var url='https://segmentfault.com/'

app.get('/', function (req, res, next) {
// 用 superagent 去抓取 https://segmentfault.com// 的内容
superagent.get(url)
.end(function (err, sres) {
// 常规的错误处理
if (err) {
return next(err);
}
// sres.text 里面存储着网页的 html 内容,将它传给 cheerio.load 之后
// 就可以得到一个实现了 jquery 接口的变量,我们习惯性地将它命名为 `$`
// 剩下就都是 jquery 的内容了
var $ = cheerio.load(sres.text);
var items = [];
$('h4.news__item-title').each(function (idx, element) {
var $element = $(element);
items.push({
content:$element.text().trim(),
href:url+$element.parent().parent().attr('href')
});
});
res.send(items);
});
});


app.listen(8080,function(err){
console.log("Service is starting")
})

OK,一个简单的爬虫就是这么简单。