nodejs爬虫

721 阅读1分钟

最近在研究nodejs一些功能, 刚好以前做过简易的nodejs爬虫,用来扒取豆瓣上的歌词,刚好就这个课题来做一次分享。

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。学习nodejs爬虫要懂得以下几个知识点:

1.npm基础指令,nodejs常用模块。

2.jquery选择器。

3.基本的es6知识和javascript知识。

4.html5的基础知识。

5.http与https的基础知识。

下面开始进行项目的编写。

1.先建一个空文件夹。

2.npm init 初始化一个项目,一路回车就行。

3.安装npm包 npm install

4.新建一个文件夹叫 app.js(名字自起)

5.在app.js中引入我们需要的几个node模块。

const https = require('https');
const fs = require('fs')
const cheerio = require('cheerio')

然后取一个url作为我们本次爬虫的目标网站:

let url = 'https://sh.5i5j.com/zufang/pudongxinqu/' //数据来自我爱我家,https网站用https模块,http用http模块.

要用到一个cheerio的js包,它用来把html的dom以jquery的形式取得。

fs是nodejs一个调用文件系统的库,我们用writeFile方法把取得的数据写入到文件当中,这里我们写入在html文件中。

fs.writeFile(url, file, function(err) {console.log(err)})

url表示的相对路径的地址,file是我们从cheerio中取得的json数据,后面是一个抛出错误信息的回掉函数。

接下来上全部代码:

实际效果:

成功完成一个扒取住房信息的爬虫。

github地址:

https://github.com/angleneo/nodejs-spider