国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Node.js環境下編寫爬蟲爬取維基百科內容的實例分享

2019-11-20 09:43:28
字體:
來源:轉載
供稿:網友

基本思路
思路一(origin:master):從維基百科的某個分類(比如:航空母艦(key))頁面開始,找出鏈接的title屬性中包含key(航空母艦)的所有目標,加入到待抓取隊列中。這樣,抓一個頁面的代碼及其圖片的同時,也獲取這個網頁上所有與key相關的其它網頁的地址,采取一個類廣度優先遍歷的算法來完成此任務。
思路二(origin:cat):按分類進行抓取。注意到,維基百科上,分類都以Category:開頭,由于維基百科有很好的文檔結構,很容易從任一個分類,開始,一直把其下的所有分類全都抓取下來。這個算法對分類頁面,提取子分類,且并行抓取其下所有頁面,速度快,可以把分類結構保存下來,但其實有很多的重復頁面,不過這個可以后期寫個腳本就能很容易的處理。

庫的選擇
開始想用jsdom,雖然感覺它功能強大,但也比較“重”,最要命的是說明文檔不夠好,只說了它的優勢,沒一個全面的說明。因此,換成cheerio,輕量級,功能比較全,至少文檔一看就能有一個整體概念。其實做到后來,才發現根本不需要庫,用正則表達式就能搞定一切!用庫只是少寫了一點正則而矣。

關鍵點
全局變量設定:

var regKey = ['航空母艦','航空母

主站蜘蛛池模板:
朔州市|
威远县|
北票市|
德保县|
新余市|
崇文区|
安龙县|
章丘市|
怀柔区|
遵化市|
黄梅县|
南和县|
鄂托克旗|
南投县|
永济市|
连山|
乌什县|
健康|
南涧|
岐山县|
汽车|
涪陵区|
普陀区|
开鲁县|
尼木县|
锡林浩特市|
色达县|
青岛市|
商丘市|
宁明县|
龙游县|
冕宁县|
湖北省|
和林格尔县|
都兰县|
旺苍县|
辽阳县|
民乐县|
济南市|
阿城市|
来宾市|