用node寫個爬蟲?看完這篇新手也會

 

從node問世之後,就不斷被JavaScript的忠實追隨者拿來幹一些原來只有php、Python等後端語言才能乾的事情,例如寫個爬蟲之類的。對於前端er來講,用上一些好用的輪子,你可能十幾行代碼就能夠寫一個crawler哦~
php

 

爬蟲的思路十分簡單:前端

 

  1. 按照必定的規律發送 HTTP 請求得到頁面 HTML 源碼(必要時須要加上必定的 HTTP 頭信息,好比 cookie 或 referer 之類)node

  2. 利用正則匹配或第三方模塊解析 HTML 代碼,提取有效數據jquery

  3. 將數據持久化到數據庫中程序員

 

固然爬蟲的寫法千千萬,下面只提供吃瓜羣衆都能看懂的版本~web

*文章目錄*

    1. 1. *準備階段*面試

    1.1. NPM數據庫

    1.2. package.jsonnpm

    1.3. crawler.jsjson

    1. 2. *學習階段*

    2.1. REQUEST

    2.2. CHEERIO

  1. 3. *建設階段*

  2. 4. *實驗階段*

*準備階段*

NPM

(npm:趁還沒被yarn幹掉再續一秒)

首先咱們須要經過npm安裝兩個模塊reuqestcheerio來幫助咱們更方便地請求和 解析頁面

終端cd到你的文件目錄裏,先裝上,一下子我再各自講它們


 

package.json

裝完你能夠看到你文件夾裏的package.json裏已經多了兩個依賴項

 

crawler.js

假設你的爬蟲程序主文件名叫crawler.js,咱們須要在這個文件裏引入requestcheerio這兩個模塊
js代碼爲


準備階段完成後,讓咱們開始沉迷於學習階段= =

*學習階段*

REQUEST

request是個很是好用的針對HTTP請求的模塊,簡言之是對 http.request更高級的封裝,口號是——「Simplified HTTP client」

request 這個模塊能夠幫你下載資料。使用方式:


隨便來個例子,假設你以爲你本身真是沉迷於學習沒法自拔,是個人迷妹/癡漢一隻,你想要隨時監控我博客的內容,那你就這樣寫


不過我建議大家轉去搞LV的( ͡° ͜ʖ ͡°)=>
羣瘋之下

(小學妹就不坑LV老師啦,歡迎你們自行尋找他的我的站~)

 

CHEERIO

cheerio模塊能夠在服務器端像使用Jquery的方式同樣操做Dom結構,許多用法和jquery 的語法基本相同,爲服務器特別定製的,快速、靈活、實施的jQuery核心實現。
簡言之,是服務器端的雞塊瑞(◕ܫ◕)~

Cheerio 幾乎可以解析任何的 HTML 和 XML document,靈活好用,灰常厲害
只需這麼用:

基礎知識學習完畢,讓咱們一塊兒投入到火熱的社會主義建設中去~

*建設階段*

先把request搞上去,明確要爬的頁面,咱們要爬的是A站的文章區(我不想搞B站,不想被封號TAT)

咱們固然不能拍拍手,咱們要用cheerio去解析咱們剛請求成功的頁面

最後爬下來的結果咱們把它放在result.json文件裏


最後把這句話放在request方法裏


最終你的
crawler.js看起來是這樣

啊~麻麻~我用16行代碼就寫了個爬蟲~╰(°▽°)╯
慢着,咱們先來試驗下是否能成功

*實驗階段*

cd 到你的目錄,敲下激動人心的以下代碼


而後觀察你的文件夾裏是否多了個
result.json呢,它看起來應該是以下這樣充滿了大新聞

result.json

 

 

結論

「大清亡於閉關鎖國,學習技術須要交流和資料」。 在這裏我給你們準備了不少的學習資料免費獲取,包括但不限於技術乾貨、大廠面試題系列、技術動向、職業生涯等一切有關程序員的分享

.web前端小白進階方法筆記,學習資料,面試題和視頻,項目源碼免費領取

相關文章
相關標籤/搜索