最近在研究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