最近在研究nodejs一些功能, 恰好之前作过简易的nodejs爬虫,用来扒取豆瓣上的歌词,恰好就这个课题来作一次分享。javascript
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更常常的称为网页追逐者),是一种按照必定的规则,自动地抓取万维网信息的程序或者脚本。学习nodejs爬虫要懂得如下几个知识点:html
1.npm基础指令,nodejs经常使用模块。html5
2.jquery选择器。java
3.基本的es6知识和javascript知识。node
4.html5的基础知识。jquery
5.http与https的基础知识。git
下面开始进行项目的编写。es6
1.先建一个空文件夹。github
2.npm init
初始化一个项目,一路回车就行。npm
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