一篇文章帶你瞭解網路爬蟲的概念及其工作原理

weixin_34007291發表於2019-01-25

眾所周知,隨著計算機、網際網路、物聯網、雲端計算等網路技術的風起雲湧,網路上的資訊呈爆炸式增長。毋庸置疑,網際網路上的資訊幾乎囊括了社會、文化、政治、經濟、娛樂等所有話題。使用傳統資料收集機制(如問卷調查法、訪談法)進行捕獲和採集資料,往往會受經費和地域範圍所限,而且還會因其樣本容量小、信度低等因素導致收集的資料往往與客觀事實有所偏頗,有著較大的侷限性。

9337488-7e12b7d3e6f1804f

網路爬蟲通過統一資源定位符URL (Uniform ResourceLocator)來查詢目標網頁,將使用者所關注的資料內容直接返回給使用者,並不需要使用者以瀏覽網頁的形式去獲取資訊,為使用者節省了時間和精力,並提高了資料採集的準確度,使使用者在海量資料中游刃有餘。網路爬蟲的最終目的就是從網頁中獲取自己所需的資訊。雖然利用urllib、urllib2、re等一些爬蟲基本庫可以開發一個爬蟲程式,獲取到所需的內容,但是所有的爬蟲程式都以這種方式進行編寫,工作量未免太大了些,所有才有了爬蟲框架。使用爬蟲框架可以大大提高效率,縮短開發時間。

9337488-efb7e6c058f22125

網路爬蟲(web crawler)又稱為網路蜘蛛(web spider)或網路機器人(web robot),另外一些不常使用的名字還有螞蟻、自動索引、模擬程式或蠕蟲,同時它也是“物聯網”概念的核心之一。網路爬蟲本質上是一段計算機程式或指令碼,其按照一定的邏輯和演算法規則自動地抓取和下載全球資訊網的網頁,是搜尋引擎的一個重要組成部分。

9337488-5ec8cbf2b94376d1

網路爬蟲一般是根據預先設定的一個或若干個初始網頁的URL開始,然後按照一定的規則爬取網頁,獲取初始網頁上的URL列表,之後每當抓取一個網頁時,爬蟲會提取該網頁新的URL並放入到未爬取的佇列中去,然後迴圈的從未爬取的佇列中取出一個URL再次進行新一輪的爬取,不斷的重複上述過程,直到佇列中的URL抓取完畢或者達到其他的既定條件,爬蟲才會結束。具體流程如下圖所示。

9337488-c42ae7120cf57132

  隨著網際網路資訊的與日俱增,利用網路爬蟲工具來獲取所需資訊必有用武之地。使用網路爬蟲來採集資訊,不僅可以實現對web上資訊的高效、準確、自動的獲取,還利於公司或者研究人員等對採集到的資料進行後續的挖掘分析。

9337488-70fa02c8a2948c76

相關文章