1. 程式人生 > >一篇文章帶你了解網絡爬蟲的概念及其工作原理

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

開發 才有 機器 graph jpg eight 效率 查找 規則

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

技術分享圖片

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

技術分享圖片

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

技術分享圖片

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

技術分享圖片

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

技術分享圖片

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