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