劉 偉
南京鐵道職業(yè)技術(shù)學(xué)院,江蘇南京 210015
搜索引擎中網(wǎng)絡(luò)爬蟲的設(shè)計與實現(xiàn)
劉 偉
南京鐵道職業(yè)技術(shù)學(xué)院,江蘇南京 210015
隨著信息時代的來臨,互聯(lián)網(wǎng)逐漸滲透到我們生活中的每個角落,其中搜索引擎的應(yīng)用,更是為我們的生活和學(xué)習(xí)帶來了很大的便利。研究搜索引擎中網(wǎng)絡(luò)爬蟲的設(shè)計與實現(xiàn),對于優(yōu)化搜索引擎性能,提升搜索引擎效率有著重要的意義。本文主要分析了基于主題搜索引擎中網(wǎng)絡(luò)爬蟲的設(shè)計與實現(xiàn),并提出了相應(yīng)的方法和手段。
主題搜索引擎;網(wǎng)絡(luò)爬蟲;設(shè)計;實現(xiàn)
搜索引擎的使用,使人們能夠更加方便快捷地從網(wǎng)絡(luò)上獲取想要的信息。隨著互聯(lián)網(wǎng)和計算機技術(shù)的不斷發(fā)展,傳統(tǒng)的通用搜索引擎已經(jīng)很難滿足人們的信息檢索要求,而主題搜索引擎的產(chǎn)生為信息檢索服務(wù)水平的提高帶來了福音。而作為搜索引擎的基礎(chǔ)部分,網(wǎng)絡(luò)爬蟲對于信息檢索服務(wù)的實現(xiàn)起著舉足輕重的作用。因而只有根據(jù)搜索引擎的發(fā)展和創(chuàng)新不斷優(yōu)化網(wǎng)絡(luò)爬蟲的設(shè)計,才能提高網(wǎng)絡(luò)爬蟲的性能以及主題搜索引擎的應(yīng)能。
將互聯(lián)網(wǎng)中大量的進行信息選取、整理存儲并建立索引,再提供友好接口,使用戶在這些信息中及時、準(zhǔn)確、快速獲取需求的信息的查詢系統(tǒng)就是搜索引擎。
主題搜索引擎,是以構(gòu)建某一專題領(lǐng)域或者某一學(xué)科領(lǐng)域的因特網(wǎng)信息資源庫為目的,在互聯(lián)網(wǎng)上智能的搜集符合設(shè)定專題要求或者符合該學(xué)科需要的信息和資源。主題搜索引擎的產(chǎn)生,克服了傳統(tǒng)搜索引擎在信息檢索服務(wù)中的諸多困難,不但使信息檢索變得更加細(xì)致、精確,使搜索到的數(shù)據(jù)更加精確和全面,搜索到的信息更加深入,同時也使相關(guān)專題信息資源和學(xué)科信息資源的更新更加及時,總之,大大提高了信息檢索服務(wù)質(zhì)量,提高了搜索引擎的性能。
網(wǎng)絡(luò)爬蟲是搜索引擎中,探索與下載網(wǎng)頁資源的程序,在搜索的過程中,程序自己判斷下一步抓取的對象,具有相應(yīng)的智能性,因此又叫網(wǎng)絡(luò)機器人。網(wǎng)頁之間的鏈接,使互聯(lián)網(wǎng)形成了網(wǎng)狀的結(jié)構(gòu),爬蟲程序類似這張網(wǎng)上的蜘蛛,所以叫網(wǎng)絡(luò)蜘蛛。
網(wǎng)絡(luò)爬蟲作為搜索引擎的基礎(chǔ)組成部分,起著重要的作用。隨著應(yīng)用的不斷深化,技術(shù)的快速進步,網(wǎng)絡(luò)爬蟲更加普遍地運用于站點結(jié)構(gòu)分析、頁面有效性分析、內(nèi)容安全檢測、用戶興趣挖掘以及個性化信息獲取等多種服務(wù)中。
通用網(wǎng)絡(luò)爬蟲要能盡量收集頁面,進行的過程中,不考慮處理頁面的前后順序、獲取的頁面與主題是否相關(guān)。在傳統(tǒng)爬蟲基礎(chǔ)上,加入了Web數(shù)據(jù)、挖掘等相關(guān)技術(shù),使爬蟲在工作的過程中,沿著能夠找到目標(biāo)頁面的路徑進行有效的爬行。提高現(xiàn)有搜索引擎查找的精度、更新的周期是主題爬蟲的功能,主題網(wǎng)絡(luò)爬蟲的基本思想就是按著預(yù)先指定的主題,對下載的頁面內(nèi)容及鏈接進行分析,并計算當(dāng)前頁面與主題相關(guān)率,并預(yù)測下一個要處理的鏈接,確保在爬行的過程中,獲取與主題關(guān)系較多的頁面,對不能找到目標(biāo)頁面的路徑減少爬取,其中,主題網(wǎng)絡(luò)爬蟲要盡可能地過濾掉頁面中,關(guān)系不大的鏈接,保留可能與主題相對密切的鏈接,放入相應(yīng)隊列中;再運用一定的方法,從隊列中選出要處理的頁面的鏈接。
面向主題搜索引擎的網(wǎng)路爬蟲以普通網(wǎng)絡(luò)爬蟲為基礎(chǔ),并在此基礎(chǔ)上進行擴展和調(diào)整,使其具備主題網(wǎng)絡(luò)爬蟲獨有的功能,進而實現(xiàn)面向主題的網(wǎng)頁信息提取。近年來,隨著人們對主題搜索引擎渴望成都的日益增加,面向主題的網(wǎng)絡(luò)爬蟲研究已經(jīng)成為學(xué)界重點研究的問題之一。面向主題的信息自動采集系統(tǒng)可分為4個部分,即主題的選擇、Web信息的提取、頁面過濾、鏈接過濾。以下進行一一闡述。
主題可以是一個含義和概念,也可以是一個詞語、短語、一個段落甚至一篇文章,總之,從語義上看,主題的概念是十分廣泛的。從概念上看,主題的范圍可大可小,當(dāng)主題的范圍較為抽象和模糊使,其含義也相應(yīng)模糊,相反地,如果主題的界限相對明確,其含義也就相對明確清晰。主題的選擇是面向主題的Wed信息提取的重要基礎(chǔ)。
網(wǎng)絡(luò)爬蟲系統(tǒng)中,Web信息提取部分通過各種Web協(xié)議自動提取Web站點中的有效信息,這些有效信息包括圖像、文本、聲音、影響等等,所涉及到相關(guān)協(xié)議包括FTP、HTTP、BBS等等。除此之外,Web信息搜索還可以根據(jù)用戶的具體實際需要,搜索和采集Web Chat等特殊形式的Web信息。
在本系統(tǒng)中,主題網(wǎng)絡(luò)蜘蛛主要處理的是HTML頁面。因此,在頁面分析與過濾過程中,我們所做的工作主要包括對HTML頁面進行語法分析,以提取出網(wǎng)頁正文、鏈接、鏈接相關(guān)標(biāo)簽屬性數(shù)據(jù)及其它相關(guān)內(nèi)容,然后對網(wǎng)頁進行主題相關(guān)性判別,從而過濾掉與主題無關(guān)頁面,提高主題網(wǎng)絡(luò)蜘蛛的主題信息提取的準(zhǔn)確性。
2.3.1 HTML語法分析
HTML語法分析過程可分為SGML標(biāo)記文法層和HTML標(biāo)記層:
SGML文法層的功能是將頁面分解成正文、轉(zhuǎn)義字符、注釋、標(biāo)記等等,標(biāo)記文法分析器的主工作原理是:從標(biāo)記文法創(chuàng)建狀態(tài)轉(zhuǎn)換表,根據(jù)輸入流中的字符切換狀態(tài),在特定狀態(tài)到達(dá)時執(zhí)行相應(yīng)語義操作。HTML表基層的任務(wù)是維護當(dāng)前解析正文的各種狀態(tài)。
2.3.2 頁面相關(guān)性判斷
在進行Web主題信息提取中,提取的URL通過了主題相關(guān)性判別。即使這樣,提取的頁面內(nèi)容,與設(shè)定的主題可能相差很遠(yuǎn)。這將影響主題頁面信息的提取準(zhǔn)確率。所以,在頁面提取之后,要對頁面進行與主題有關(guān)性的判別,以淘汰掉與主題無關(guān)頁面。
面向主題的網(wǎng)絡(luò)蜘蛛,在選取Web信息時面向選定的主題。要提高主題Web信息提取速度和準(zhǔn)確率,系統(tǒng)需要對采集UI,進行URl和主題的關(guān)系的判定,這也叫做鏈接過濾,或者鏈接預(yù)測。根據(jù)高預(yù)測值優(yōu)先采集、低預(yù)測值要舍棄的原則,對發(fā)現(xiàn)的URL進行剪枝處理,能大幅度減少采集頁面的數(shù)量,提高主題信息搜索時效性,對于主題搜索網(wǎng)絡(luò)蜘蛛來說,搜索策略中的關(guān)鍵所在是如何評價鏈接對于主題的價值,即鏈接價值的計算方法,
面向主題的網(wǎng)絡(luò)爬蟲系統(tǒng)中鏈接過濾常見的算法是EPR算法。盡管PageRank方法,能獲得Web上的重要頁面,其確定的重要頁面卻是針對廣泛主題的,不能面向具體主題的。作為另一個被廣泛接受的超鏈分析算法HITS,基于權(quán)威頁面和中心頁面相互加強的設(shè)計模型,提供了發(fā)現(xiàn)權(quán)威頁面的有效辦法。處理不好主題偏離問題,也就是緊密鏈接,也是HITS算法存在的一個最大的弱點,就是TKC(Tightly-Knit Community Effect,簡稱TKC)現(xiàn)象口51。為此,我們對PageRank方法做了如下改進:在鏈接關(guān)系的基礎(chǔ)上,加入針對鏈接的相關(guān)主題權(quán)重,再引入鏈接網(wǎng)頁之間主題度,相互反饋加強的考慮,使其所產(chǎn)生的重要頁面是針對某一個主題的,這就是EPR算法。
隨著計算機的普及和互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,人們對搜索引擎的使用變得越來越主動,越來越頻繁,信息檢索服務(wù)也在向著個性化、精細(xì)化等方向發(fā)展。傳統(tǒng)的搜索引擎雖然在過去一定程度上滿足了人們對信息檢索的渴求,但是在科技發(fā)展日新月異、生活和工作節(jié)奏逐漸加快的今天,已經(jīng)無法適應(yīng)人們越來越高的信息檢索需求,而面向主題的搜索引擎的產(chǎn)生極大地提高了信息檢索服務(wù)質(zhì)量和效率。
網(wǎng)絡(luò)爬蟲作為面向主題的搜索引擎的重要基礎(chǔ)和組成部分,其設(shè)計質(zhì)量的提升對于面向主題的搜索引擎功能的提升有著重要的意義。近年來,網(wǎng)絡(luò)爬蟲以哪種訪問策略對Web進行訪問,能提高面向主題的搜索引擎的搜索速度,以及設(shè)計網(wǎng)絡(luò)爬蟲系統(tǒng)的各種算法的設(shè)計和改進已經(jīng)成為學(xué)界研究的熱點問題。筆者在文中闡述了面向主題搜索引擎的網(wǎng)絡(luò)爬蟲的設(shè)計與實現(xiàn)策略,闡述了爬蟲系統(tǒng)的構(gòu)成,即主題的選擇、Web信息的提取、頁面過濾、鏈接過濾四部分,并進行了一一的分析和總結(jié),最終提出了對PageRank算法的改進策略,以期為面向主題搜索引擎中網(wǎng)絡(luò)爬蟲的設(shè)計與實現(xiàn)的研究作出應(yīng)有的理論貢獻和實踐參考。
[1]盧亮,張博文.搜索引擎原理、實踐與應(yīng)用[M].北京:電子工業(yè)出版社,2007.
[2]謝新洲.網(wǎng)絡(luò)信息檢索技術(shù)與案例[M].北京:北京圖書館出版社,2005:29-30.
[3]周立柱,林玲.聚焦爬蟲技術(shù)研究綜述[J].計算機應(yīng)用,2005,25(9):1965-1989.
[4]劉金紅,陸余良.主題網(wǎng)絡(luò)爬蟲研究綜述[J].計算機應(yīng)用研究,2007,24(10):26-29,47.
[5]劉瑋瑋.搜索引擎中主題爬蟲的研究與實現(xiàn)田[D].南京:南京理工大學(xué),2006.
[6]楊溥.搜索引擎中爬蟲的若干問題研究[D].北京:北京郵電大學(xué),2009,1.
TP393
A
1674-6708(2011)53-0178-02