全球专业中文经管百科,由121,994位网友共同编写而成,共计436,036个条目

網路爬蟲

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

(重定向自网络机器人)

目錄

什麼是網路爬蟲

  網路爬蟲又名“網路蜘蛛”,是通過網頁的鏈接地址來尋找網頁,從網站某一個頁面開始,讀取網頁的內容,找到在網頁中的其它鏈接地址,然後通過這些鏈接地址尋找下一個網頁,這樣一直迴圈下去,直到按照某種策略把互聯網上所有的網頁都抓取完為止的技術。

網路爬蟲的分類及工作原理[1]

  網路爬蟲按照系統結構和實現技術,大致可以分為以下幾種類型:通用網路爬蟲(General Purpose Web Crawler)、主題網路爬蟲(Topical Web Crawler)、深層網路爬蟲(Deep Web Crawler)。實際應用中通常是將系統幾種爬蟲技術相互結合。

  (一)通用網路爬蟲(general purpose web crawler)

  通用網路爬蟲根據預先設定的一個或若幹初始種子URL開始,以此獲得初始網頁上的URL列表,在爬行過程中不斷從URL隊列中獲一個的URL,進而訪問並下載該頁面。頁面下載後頁面解析器去掉頁面上的HTML標記後得到頁面內容,將摘要、URL等信息保存到Web資料庫中,同時抽取當前頁面上新的URL,保存到URL隊列,直到滿足系統停止條件。其工作流程如圖1所示。

Image:通用网络爬虫.png

  通用爬蟲主要存在以下幾方面的局限性:1)由於抓取目標是儘可能大的覆蓋網路,所以爬行的結果中包含大量用戶不需要的網頁;2)不能很好地搜索和獲取信息含量密集且具有一定結構的數據;3)通用搜索引擎大多是基於關鍵字的檢索,對於支持語義信息的查詢和索引擎智能化的要求難以實現。

  由此可見,通用爬蟲想在爬行網頁時,既保證網頁的質量和數量,又要保證網頁的時效性是很難實現的。

  (二)主題網路爬蟲(Topical Web Crawler)

  1.主題爬蟲原理

  主題爬蟲並不追求大的覆蓋率,也不是全盤接受所有的網頁和URL,它根據既定的抓取目標,有選擇的訪問萬維網上的網頁與相關的鏈接,獲取所需要的信息,不僅客服了通用爬蟲存在的問題,而H-返回的數據資源更精確。主題爬蟲的基本工作原理是按照預先確定的主題,分析超鏈接和剛剛抓取的網頁內容,獲取下一個要爬行的URL,儘可能保證多爬行與主題相關的網頁,因此主題爬蟲要解決以下關鍵問題:1)如何判定一個已經抓取的網頁是否與主題相關;2)如何過濾掉海量的網頁中與主題不相關的或者相關度較低的網頁;3)如何有目的、有控制的抓取與特定主題相關的web頁面信息;4)如何決定待訪問URL的訪問次序;5)如何提高主題爬蟲的覆蓋度;6)如何協調抓取目標的描述或定義與網頁分析演算法及候選URL排序演算法之問的關係;7)如何尋找和發現高質量網頁和關鍵資源。高質量網頁和關鍵資源不僅可以大大提高主題爬蟲搜集Web頁面的效率和質量,還可以為主題表示模型的優化等應用提供支持。

  2.主題爬蟲模塊設計

  主題爬蟲的目標是儘可能多的發現和搜集與預定主題相關的網頁,其最大特點在於具備分析網頁內容和判別主題相關度的能力。根據主題爬蟲的工作原理,下麵設計了一個主題爬蟲系統,主要有頁面採集模塊、頁面分析模塊、相關度計算模塊、頁面過濾模塊和鏈接排序模塊幾部分組成,其總體功能模塊結構如圖2所示。

Image:主题爬虫.png

  頁面採集模塊:主要是根據待訪問URL隊列進行頁面下載,再交給網頁分析模型處理以抽取網頁主題向量空間模型。該模塊是任何爬蟲系統都必不可少的模塊。頁面分析模塊:該模塊的功能是對採集到的頁面進行分析,主要用於連接超鏈接排序模塊和頁面相關度計算模塊。

  頁面相關度計算模塊:該模塊是整個系統的核心模塊,主要用於評估與主題的相關度,並提供相關的爬行策略用以指導爬蟲的爬行過程。URL的超鏈接評價得分越高,爬行的優先順序就越高。其主要思想是,在系統爬行之前,頁面相關度計算模塊根據用戶輸入的關鍵字和初始文本信息進行學習,訓練一個頁面相關度評價模型。當一個被認為是主題相關的頁面爬行下來之後,該頁面就被送入頁面相關度評價器計算其主題相關度值,若該值大於或等於給定的某閡值,則該頁面就被存入頁面庫,否則丟棄¨。頁面過濾模塊:過濾掉與主題無關的鏈接,同時將該URL及其所有隱含的子鏈接一併去除。通過過濾,爬蟲就無需遍歷與主題不相關的頁面,從而保證了爬行效率。排序模塊:將過濾後頁面按照優先順序高低加入到待訪問的URL隊列里。

  3.主題爬蟲流程設計

  主題爬蟲需要根據一定的網頁分析演算法,過濾掉與主題無關的鏈接,保留有用的鏈接並將其放入等待抓取的URL隊列。然後,它會根據一定的搜索策略從待抓取的隊列中選擇下一個要抓取的URL,並重覆上述過程,直到滿足系統停止條件為止。所有被抓取網頁都會被系統存儲,經過一定的分析、過濾,然後建立索引,以便用戶查詢和檢索;這一過程所得到的分析結果可以對以後的抓取過程提供反饋和指導。其工作流程如圖3所示。

Image:主题爬虫的工作流程.png

  4.深度網路爬蟲(Deep Web Crawler)

  1994年Dr.jillEllsworth提出DeepWeb(深層頁面)的概念,即DeepWeb是指普通搜索引擎難以發現的信息內容的Web頁面¨。DeepWeb中的信息量比普通的網頁信息量多,而且質量更高。但是普通的搜索引擎由於技術限制而搜集不到這些高質量、高權威的信息。這些信息通常隱藏在深度Web頁面的大型動態資料庫中,涉及數據集成、中文語義識別等諸多領域。如此龐大的信息資源如果沒有合理的、高效的方法去獲取,將是巨大的損失。因此,對於深度網爬行技術的研究具有極為重大的現實意義和理論價值。

  常規的網路爬蟲在運行中無法發現隱藏在普通網頁中的信息和規律,缺乏一定的主動性和智能性。比如需要輸入用戶名和密碼的頁面,或者包含頁碼導航的頁面均無法爬行。深度爬蟲的設計針對常規網路爬蟲的這些不足,將其結構做以改進,增加了表單分析和頁面狀態保持兩個部分,其結構如圖4所示,通過分析網頁的結構並將其歸類為普通網頁或存在更多信息的深度網頁,針對深度網頁構造合適的表單參數並且提交,以得到更多的頁面。深度爬蟲的流程圖如圖4所示。深度爬蟲與常規爬蟲的不同是,深度爬蟲在下載完成頁面之後並沒有立即遍歷其中的所有超鏈接,而是使用一定的演算法將其進行分類,對於不同的類別採取不同的方法計算查詢參數,並將參數再次提交到伺服器。如果提交的查詢參數正確,那麼將會得到隱藏的頁面和鏈接。深度爬蟲的目標是儘可能多地訪問和收集互聯網上的網頁,由於深度頁面是通過提交表單的方式訪問,因此爬行深度頁面存在以下三個方面的困難:1)深度爬蟲需要有高效的演算法去應對數量巨大的深層頁面數據;2)很多伺服器端DeepWeb要求校驗表單輸入,如用戶名、密碼、校驗碼等,如果校驗失敗,將不能爬到DeepWeb數據;3)需要JavaScript等腳本支持分析客戶端DeepWeb。

Image:深度爬虫流程图.png

網路爬蟲的搜索策略[2]

  (1)IP地址搜索策略

  IP地址搜索策略是先給爬蟲一個起始的IP地址,然後根據IP地址以遞增的方式搜索本IP地址段後的每一個地址中的文檔,它完全不考慮各文檔中指向其它Web站點的超級鏈接地址。這種搜索策略的優點是搜索比較全面,因此能夠發現那些沒被其它文檔引用的新文檔的信息源;但是缺點是不適合大規模搜索。

  (2)深度優先搜索策略

  深度優先搜索是一種在開發爬蟲早期使用較多的方法。它的目的是要達到被搜索結構的葉結點(即那些不包含任何超鏈的HTML文件)。例如,在一個HTML文件中,當一個超鏈被選擇後,被鏈接的HTML文件將執行深度優先搜索,也就是說在搜索其餘的超鏈結果之前必須先完整地搜索單獨的一條鏈。深度優先搜索沿著HTML文件上的超鏈走到不能再深入為止,然後返回到某一個HTML文件,再繼續選擇該HTML文件中的其他超鏈。當不再有其他超鏈可選擇時,說明搜索已經結束。

  (3)寬度優先搜索策略

  寬度優先搜索的過程是先搜索完一個Web頁面中所有的超級鏈接,然後再繼續搜索下一層,直到底層為止。例如,一個HTML文件中有三個超鏈,選擇其中之一併處理相應的HTML文件,然後不再選擇第二個HTML文件中的任何超鏈,而是返回並選擇第二個超鏈,處理相應的HTML文件,再返回,選擇第三個超鏈並處理相應的HTML文件。當一層上的所有超鏈都已被選擇過,就可以開始在剛纔處理過的HIML文件中搜索其餘的超鏈。

  寬度優先搜索策略的優點:一個是保證了對淺層的優先處理,當遇到一個無窮盡的深層分支時,不會導致陷進www中的深層文檔中出現出不來的情況發生;另一個是它能在兩個HTML文件之間找到最短路徑。

  寬度優先搜索策略通常是實現爬蟲的最佳策略,因為它容易實現,而且具備大多數期望的功能。但是如果要遍歷一個指定的站點或者深層嵌套的HTML文件集,用寬度優先搜索策略則需要花費比較長的時間才能到達深層的HTML文件。

參考文獻

  1. 於成龍,於洪波.網路爬蟲技術研究[J].東莞理工學院學報.2011,5
  2. 蔡笑倫.網路爬蟲技術的發展趁勢[J].科技信息.2010,12
本條目對我有幫助16
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目投訴舉報

本条目由以下用户参与贡献

Mis铭,大鱼,LuyinT.

評論(共1條)

提示:評論內容為網友針對條目"網路爬蟲"展開的討論,與本站觀點立場無關。
202.199.96.* 在 2019年6月9日 18:49 發表

感謝,找到理論參考

回複評論

發表評論請文明上網,理性發言並遵守有關規定。

打开APP

以上内容根据网友推荐自动排序生成

官方社群
下载APP

闽公网安备 35020302032707号