聚焦爬蟲
聚焦爬蟲 (又被稱為網頁蜘蛛,網路機器人,在FOAF社區中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動的抓取全球資訊網信息的程式或者腳本。另外一些不常使用的名字還有螞蟻,自動索引,模擬程式或者蠕蟲。
隨著網路的迅速發展,全球資訊網成為大量信息的載體,如何有效地提取並利用這些信息成為一個巨大的挑戰。搜尋引擎(Search Engine),例如傳統的通用搜尋引擎AltaVista,Yahoo!和Google等,作為一個輔助人們檢索信息的工具成為用戶訪問全球資訊網的入口和指南。但是,這些通用性搜尋引擎也存在著一定的局限性,如:
(1) 不同領域、不同背景的用戶往往具有不同的檢索目的和需求,通用搜尋引擎所返回的結果包含大量用戶不關心的網頁。
(2) 通用搜尋引擎的目標是儘可能大的網路覆蓋率,有限的搜尋引擎伺服器資源與無限的網路數據資源之間的矛盾將進一步加深。
(3) 全球資訊網數據形式的豐富和網路技術的不斷發展,圖片、資料庫、音頻/視頻多媒體等不同數據大量出現,通用搜尋引擎往往對這些信息含量密集且具有一定結構的數據無能為力,不能很好地發現和獲取。
(4) 通用搜尋引擎大多提供基於關鍵字的檢索,難以支持根據語義信息提出的查詢。
為了解決上述問題,定向抓取相關網頁資源的聚焦爬蟲應運而生。聚焦爬蟲是一個自動下載網頁的程式,它根據既定的抓取目標,有選擇的訪問全球資訊網上的網頁與相關的連結,獲取所需要的信息。與通用爬蟲(general?purpose web crawler)不同,聚焦爬蟲並不追求大的覆蓋,而將目標定為抓取與某一特定主題內容相關的網頁,為面向主題的用戶查詢準備數據資源。
1 聚焦爬蟲工作原理及關鍵技術概述
網路爬蟲是一個自動提取網頁的程式,它為搜尋引擎從全球資訊網上下載網頁,是搜尋引擎的重要組成。傳統爬蟲從一個或若干初始網頁的URL開始,獲得初始網頁上的URL,在抓取網頁的過程中,不斷從當前頁面上抽取新的URL放入佇列,直到滿足系統的一定停止條件,如圖1(a)流程圖所示。聚焦爬蟲的工作流程較為複雜,需要根據一定的網頁分析算法過濾與主題無關的連結,保留有用的連結並將其放入等待抓取的URL佇列。然後,它將根據一定的搜尋策略從佇列中選擇下一步要抓取的網頁URL,並重複上述過程,直到達到系統的某一條件時停止,如圖1(b)所示。另外,所有被爬蟲抓取的網頁將會被系統存貯,進行一定的分析、過濾,並建立索引,以便之後的查詢和檢索;對於聚焦爬蟲來說,這一過程所得到的分析結果還可能對以後的抓取過程給出反饋和指導。
相對於通用網路爬蟲,聚焦爬蟲還需要解決三個主要問題:
(1) 對抓取目標的描述或定義;
(2) 對網頁或數據的分析與過濾;
(3) 對URL的搜尋策略。
抓取目標的描述和定義是決定網頁分析算法與URL搜尋策略如何制訂的基礎。而網頁分析算法和候選URL排序算法是決定搜尋引擎所提供的服務形式和爬蟲網頁抓取行為的關鍵所在。這兩個部分的算法又是緊密相關的。
2 抓取目標描述
現有聚焦爬蟲對抓取目標的描述可分為基於目標網頁特徵、基於目標數據模式和基於領域概念3種。基於目標網頁特徵的爬蟲所抓取、存儲並索引的對象一般為網站或網頁。根據種子樣本獲取方式可分為:
(1) 預先給定的初始抓取種子樣本;
(2) 預先給定的網頁分類目錄和與分類目錄對應的種子樣本,如Yahoo!分類結構等;
(3) 通過用戶行為確定的抓取目標樣例,分為:
a) 用戶瀏覽過程中顯示標註的抓取樣本;
b) 通過用戶日誌挖掘得到訪問模式及相關樣本。
其中,網頁特徵可以是網頁的內容特徵,也可以是網頁的連結結構特徵,等等。
現有的聚焦爬蟲對抓取目標的描述或定義可以分為基於目標網頁特徵,基於目標數據模式和基於領域概念三種。
基於目標網頁特徵的爬蟲所抓取、存儲並索引的對象一般為網站或網頁。具體的方法根據種子樣本的獲取方式可以分為:
(1)預先給定的初始抓取種子樣本;
(2)預先給定的網頁分類目錄和與分類目錄對應的種子樣本,如Yahoo!分類結構等;
(3)通過用戶行為確定的抓取目標樣例。其中,網頁特徵可以是網頁的內容特徵,也可以是網頁的連結結構特徵,等等。