依赖: cheerio: 一个nodejs抓取页面模块 https://github.com/cheeriojs/cheerio
分几个步骤吧
- 获取网页数据
- 数据整理
- 文件输出
获取网页数据
文档:
两个接口服务,更具你抓取的网站条件而定。这里以https为例(http的直接替换https
就行了,详细见上方文档)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17// getbadssl.js
var https = require('https');
var url = 'https://badssl.com';
https.get(url, function(res) {
var html = '';
res.on('data', function(data) {
html += data;
});
res.on('end', function() {
console.log(html) // 打印出来会发现这是badssl首页的全部html内容
});
}).on('error', function() {
console.log('get error');
});
数据整理
环境构建
1 | // 在文件中初始化项目 |
这时文件目录1
2
3
4-node_modules
-getbadssl.js
-package-lock.json
-package.json
回归正题
1 | // getbadssl.js |
文件输出
既然已经这样了,我们就把抓取到的文件直接输出文件为json文件
1 | // 上述 处理数据之后,传给writeFile()输出文件 |
1 | function writeFile (data) { |
我们再次执行node getbadssl.js
,我们会发现当前文件夹内多出lists.json文件
大致内容如下1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20// lists.json
{
"lists": [
{
"url": "/dashboard/",
"text": "Dashboard"
},
{
"url": "https://expired.badssl.com/",
"text": "expired"
},
{
"url": "https://wrong.host.badssl.com/",
"text": "wrong.host"
},
{
...
}
]
}