0 引 言
在信息化時代,針對通用搜索引擎信息量大、查詢準度和深度兼差等缺點,垂直搜索引擎已進入了用戶認可和使用周期。垂直搜索是針對某一個行業的專業搜索引擎,是對網頁庫中的某類專門的信息進行一次整合,定向分字段抽取出需要的數據進行處理后再以某種形式返回給用戶[1].相比通用搜索引擎則顯得更加專注、具體和深入。目前,垂直搜索引擎多用于行業信息獲取和特色語料庫建設等方面,且已卓見現實深遠成效。
網絡爬蟲是一個自動提取和自動下載網頁的程序,可為搜索引擎從互聯網上下載網頁,并根據既定的抓取目標,有選擇地訪問互聯網上的網頁與相關的鏈接,獲取所需要的信息。按照功能用途,網絡爬蟲分為通用爬蟲和聚焦爬蟲,這是搜索引擎一個核心組成部分。
1 聚焦爬蟲的工作原理及關鍵技術分析
1. 1 聚焦爬蟲的工作原理
聚焦爬蟲是專門為查詢某一主題而設計的網頁采集工具,并不追求大范圍覆蓋,而是將目標預定為抓取與某一特定主題內容相關的網頁,如此即為面向主題的用戶查詢準備數據資源。垂直搜索引擎可利用其實現對網頁主題信息的挖掘以及發現,聚焦爬蟲的工作原理是:
( 1) 爬蟲從一個或若干起始網頁 URL 鏈接開始工作;( 2) 通過特定的主題相關性算法判斷并過濾掉與主題無關的鏈接;( 3) 將有用鏈接加入待抓取的 URL 隊列;( 4) 根據一定的搜索策略從待抓取 URL 隊列中選擇下一步要抓取的網頁 URL.重復以上步驟,直至滿足退出條件時停止[2].
1. 2 聚焦爬蟲的幾個關鍵技術
根據聚焦爬蟲的工作原理,在設計聚焦爬蟲時,需要考慮問題可做如下論述。
1. 2. 1 待抓取網站目標的定義與描述的問題
開發聚焦爬蟲時,應考慮對于抓取目標的定義與描述,究竟是帶有目標網頁特征的網頁級信息,還是針對目標網頁上的結構化數據。前者因其具有結構化的數據信息特征,在爬蟲抓取信息后,還需從結構化的網頁中抽取相關信息; 而對于后者,爬蟲則直接解析 Web 頁面,提取并加工相關的結構化數據信息,該類爬蟲便于定制自適應于特定網頁模板的結果網站。
1. 2. 2 爬蟲的 URL 搜索策略問題
開發聚焦爬蟲時,常見的 URL 搜索策略主要包括深度優先搜索策略、廣度優先搜索策略、最佳優先搜索策略等[3].在此給出對應策略的規則分析如下。
( 1) 深度優先搜索策略
該搜索策略采用了后進先出的隊列方式,從起始 URL出發,不停搜索網頁的下一級頁面直至最后無 URL 鏈接的網頁頁面結束; 爬蟲再回到起始 URL 地址,繼續探尋 URL的其它 URL 鏈接,直到不再有 URL 可搜索為止,當所有頁面都結束時,URL 列表即按照倒敘的方式將搜索的 URL 隊列送入爬蟲待抓取隊列。
( 2) 廣度優先搜索策略
該搜索策略采用了先進先出的隊列方式,從起始 URL出發,在搜索了初始 Web 的所有 URL 鏈接后,再繼續搜索下一層 URL 鏈接,直至所有 URL 搜索完畢。URL 列表將按照其進入隊列的順序送入爬蟲待抓取隊列。
( 3) 最佳優先搜索策略
該搜索策略采用了一種局部優先搜索算法,從起始 URL出發,按照一定的分析算法,對頁面候選的 URL 進行預測,預測目標網頁的相似度或主題相關性,當相關性達到一定的閾值后,URL 列表則按照相關數值高低順序送入爬蟲待抓取隊列。
1. 2. 3 爬蟲對網頁頁面的分析和主題相關性判斷算法
聚焦爬蟲在對網頁 Web 的 URL 進行擴展時,還需要對網頁內容進行分析和信息的提取,用以確定該獲取 URL 頁面是否與采集的主題相關。目前常用的網頁的分析算法包括: 基于網絡拓撲、基于網頁內容和基于領域概念的分析算法[4].下面給出這三類算法的原理實現。
( 1) 基于網絡拓撲關系的分析算法
基于網絡拓撲關系的分析算法就是可以通過已知的網頁頁面或數據,對與其有直接或間接鏈接關系的對象作出評價的實現過程。該算法又分為網頁粒度、網站粒度和網頁塊粒度三種。著名的 PageRank 和 HITS 算法就是基于網絡拓撲關系的典型代表。
( 2) 基于網頁內容的分析算法
基于網頁內容的分析算法指的是利用網頁內容( 文本、數據等資源) 特征進行的網頁評價。該方法已從最初的文本檢索方法,向網頁數據抽取、數據挖掘和自然語言等多領域方向發展。
( 3) 基于領域概念的分析算法
基于領域概念的分析算法則是將領域本體分解為由不同的概念、實體及其之間的關系,包括與之對應的詞匯項組成。網頁中的關鍵詞在通過與領域本體對應的詞典分別轉換之后,將進行計數和加權,由此得出與所選領域的相關度。