開(kāi)源網(wǎng)絡(luò)爬蟲(chóng)在垂直搜索引擎應(yīng)用_第1頁(yè)
開(kāi)源網(wǎng)絡(luò)爬蟲(chóng)在垂直搜索引擎應(yīng)用_第2頁(yè)
開(kāi)源網(wǎng)絡(luò)爬蟲(chóng)在垂直搜索引擎應(yīng)用_第3頁(yè)
開(kāi)源網(wǎng)絡(luò)爬蟲(chóng)在垂直搜索引擎應(yīng)用_第4頁(yè)
開(kāi)源網(wǎng)絡(luò)爬蟲(chóng)在垂直搜索引擎應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1/11開(kāi)源網(wǎng)絡(luò)爬蟲(chóng)在垂直搜索引擎應(yīng)用開(kāi)源網(wǎng)絡(luò)爬蟲(chóng)在垂直搜索引擎應(yīng)用引言在信息化時(shí)代,針對(duì)通用搜索引擎信息量大、查詢準(zhǔn)度和深度兼差等缺點(diǎn),垂直搜索引擎已進(jìn)入了用戶認(rèn)可和使用周期。垂直搜索是針對(duì)某一個(gè)行業(yè)的專業(yè)搜索引擎,是對(duì)網(wǎng)頁(yè)庫(kù)中的某類專門的信息進(jìn)行一次整合,定向分字段抽取出需要的數(shù)據(jù)進(jìn)行處理后再以某種形式返回給用戶1。相比通用搜索引擎則顯得更加專注、具體和深入。目前,垂直搜索引擎多用于行業(yè)信息獲取和特色語(yǔ)料庫(kù)建設(shè)等方面,且已卓見(jiàn)現(xiàn)實(shí)深遠(yuǎn)成效。網(wǎng)絡(luò)爬蟲(chóng)是一個(gè)自動(dòng)提取和自動(dòng)下載網(wǎng)頁(yè)的程序,可為搜索引擎從互聯(lián)網(wǎng)上下載網(wǎng)頁(yè),并根據(jù)既定的抓取目標(biāo),有選擇地訪問(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ù)分析聚焦爬蟲(chóng)的工作原理聚焦爬蟲(chóng)是專門為查詢某一主題而設(shè)計(jì)的網(wǎng)頁(yè)采集工具,并不追求大范圍覆蓋,而是將目標(biāo)預(yù)定為抓取與某一特定主題內(nèi)容相關(guān)的網(wǎng)頁(yè)本文由論文聯(lián)盟HTTP/收集整2/11理,如此即為面向主題的用戶查詢準(zhǔn)備數(shù)據(jù)資源。垂直搜索引擎可利用其實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)主題信息的挖掘以及發(fā)現(xiàn),聚焦爬蟲(chóng)的工作原理是爬蟲(chóng)從一個(gè)或若干起始網(wǎng)頁(yè)URL鏈接開(kāi)始工作;通過(guò)特定的主題相關(guān)性算法判斷并過(guò)濾掉與主題無(wú)關(guān)的鏈接;將有用鏈接加入待抓取的URL隊(duì)列;根據(jù)一定的搜索策略從待抓取URL隊(duì)列中選擇下一步要抓取的網(wǎng)頁(yè)URL;重復(fù)以上步驟,直至滿足退出條件時(shí)停止2。聚焦爬蟲(chóng)的幾個(gè)關(guān)鍵技術(shù)根據(jù)聚焦爬蟲(chóng)的工作原理,在設(shè)計(jì)聚焦爬蟲(chóng)時(shí),需要考慮問(wèn)題可做如下論述。待抓取網(wǎng)站目標(biāo)的定義與描述的問(wèn)題開(kāi)發(fā)聚焦爬蟲(chóng)時(shí),應(yīng)考慮對(duì)于抓取目標(biāo)的定義與描述,究竟是帶有目標(biāo)網(wǎng)頁(yè)特征的網(wǎng)頁(yè)級(jí)信息,還是針對(duì)目標(biāo)網(wǎng)頁(yè)上的結(jié)構(gòu)化數(shù)據(jù)。前者因其具有結(jié)構(gòu)化的數(shù)據(jù)信息特征,在爬蟲(chóng)抓取信息后,還需從結(jié)構(gòu)化的網(wǎng)頁(yè)中抽取相關(guān)信息;而對(duì)于后者,爬蟲(chóng)則直接解析WEB頁(yè)面,提取并加工相關(guān)的結(jié)構(gòu)化數(shù)據(jù)信息,該類爬蟲(chóng)便于定制自適應(yīng)于特定網(wǎng)頁(yè)模板的結(jié)果網(wǎng)站。爬蟲(chóng)的URL搜索策略問(wèn)題3/11開(kāi)發(fā)聚焦爬蟲(chóng)時(shí),常見(jiàn)的URL搜索策略主要包括深度優(yōu)先搜索策略、廣度優(yōu)先搜索策略、最佳優(yōu)先搜索策略等3。在此給出對(duì)應(yīng)策略的規(guī)則分析如下。深度優(yōu)先搜索策略該搜索策略采用了后進(jìn)先出的隊(duì)列方式,從起始URL出發(fā),不停搜索網(wǎng)頁(yè)的下一級(jí)頁(yè)面直至最后無(wú)URL鏈接的網(wǎng)頁(yè)頁(yè)面結(jié)束;爬蟲(chóng)再回到起始URL地址,繼續(xù)探尋URL的其它URL鏈接,直到不再有URL可搜索為止,當(dāng)所有頁(yè)面都結(jié)束時(shí),URL列表即按照倒敘的方式將搜索的URL隊(duì)列送入爬蟲(chóng)待抓取隊(duì)列。廣度優(yōu)先搜索策略該搜索策略采用了先進(jìn)先出的隊(duì)列方式,從起始URL出發(fā),在搜索了初始WEB的所有URL鏈接后,再繼續(xù)搜索下一層URL鏈接,直至所有URL搜索完畢。URL列表將按照其進(jìn)入隊(duì)列的順序送入爬蟲(chóng)待抓取隊(duì)列。最佳優(yōu)先搜索策略該搜索策略采用了一種局部?jī)?yōu)先搜索算法,從起始URL出發(fā),按照一定的分析算法,對(duì)頁(yè)面候選的URL進(jìn)行預(yù)測(cè),預(yù)測(cè)目標(biāo)網(wǎng)頁(yè)的相似度或主題相關(guān)性,當(dāng)相關(guān)性達(dá)到一定的閾值后,URL列表則按照相關(guān)數(shù)值高低順序送入爬蟲(chóng)待抓取隊(duì)列。爬蟲(chóng)對(duì)網(wǎng)頁(yè)頁(yè)面的分析和主題相關(guān)性判斷算法4/11聚焦爬蟲(chóng)在對(duì)網(wǎng)頁(yè)WEB的URL進(jìn)行擴(kuò)展時(shí),還需要對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行分析和信息的提取,用以確定該獲取URL頁(yè)面是否與采集的主題相關(guān)。目前常用的網(wǎng)頁(yè)的分析算法包括基于網(wǎng)絡(luò)拓?fù)?、基于網(wǎng)頁(yè)內(nèi)容和基于領(lǐng)域概念的分析算法4。下面給出這三類算法的原理實(shí)現(xiàn)?;诰W(wǎng)絡(luò)拓?fù)潢P(guān)系的分析算法基于網(wǎng)絡(luò)拓?fù)潢P(guān)系的分析算法就是可以通過(guò)已知的網(wǎng)頁(yè)頁(yè)面或數(shù)據(jù),對(duì)與其有直接或間接鏈接關(guān)系的對(duì)象作出評(píng)價(jià)的實(shí)現(xiàn)過(guò)程。該算法又分為網(wǎng)頁(yè)粒度、網(wǎng)站粒度和網(wǎng)頁(yè)塊粒度三種。著名的PAGERANK和HITS算法就是基于網(wǎng)絡(luò)拓?fù)潢P(guān)系的典型代表?;诰W(wǎng)頁(yè)內(nèi)容的分析算法基于網(wǎng)頁(yè)內(nèi)容的分析算法指的是利用網(wǎng)頁(yè)內(nèi)容特征進(jìn)行的網(wǎng)頁(yè)評(píng)價(jià)。該方法已從最初的文本檢索方法,向網(wǎng)頁(yè)數(shù)據(jù)抽取、數(shù)據(jù)挖掘和自然語(yǔ)言等多領(lǐng)域方向發(fā)展?;陬I(lǐng)域概念的分析算法基于領(lǐng)域概念的分析算法則是將領(lǐng)域本體分解為由不同的概念、實(shí)體及其之間的關(guān)系,包括與之對(duì)應(yīng)的詞匯項(xiàng)組成。網(wǎng)頁(yè)中的關(guān)鍵詞在通過(guò)與領(lǐng)域本體對(duì)應(yīng)的詞典分別轉(zhuǎn)換之后,將進(jìn)行計(jì)數(shù)和加權(quán),由此得出與所選領(lǐng)域的相關(guān)度。2幾種開(kāi)源網(wǎng)絡(luò)爬蟲(chóng)性能比較5/11目前,互聯(lián)網(wǎng)上推出有許多的開(kāi)源網(wǎng)絡(luò)爬蟲(chóng),易于開(kāi)發(fā)和擴(kuò)展的主要包括NUTCH、LARBIN、HERITRIX等,下面即針對(duì)這三類爬蟲(chóng)進(jìn)行實(shí)用性內(nèi)容介紹5HERITRIX是JAVA開(kāi)發(fā)的開(kāi)源WEB爬蟲(chóng)系統(tǒng),是INTERNETARCHIVE的一個(gè)爬蟲(chóng)項(xiàng)目。這是開(kāi)源、可擴(kuò)展、WEB范圍內(nèi)并帶有存檔性質(zhì)的網(wǎng)絡(luò)爬蟲(chóng)。該系統(tǒng)允許用戶選擇擴(kuò)展各個(gè)組件,進(jìn)而實(shí)現(xiàn)自定的抓取邏輯。HERITRIX默認(rèn)提供的組件能夠完成通用爬蟲(chóng)的功能,用戶即可根據(jù)實(shí)際需求定制相應(yīng)模塊,也可實(shí)現(xiàn)聚焦爬蟲(chóng)的功能。LARBIN是一種由C開(kāi)發(fā)的開(kāi)源網(wǎng)絡(luò)爬蟲(chóng),LARBIN能夠跟蹤頁(yè)面的URL進(jìn)行擴(kuò)展的抓取,從而為搜索引擎提供廣泛的數(shù)據(jù)來(lái)源。該程序由法國(guó)人SBASTIENAILLERET獨(dú)立開(kāi)發(fā),只是XX年后,LABIN已退出了更新。NUTCH是APACHE的子項(xiàng)目之一,且是LUCENE下的子項(xiàng)目,重點(diǎn)是其中自己提供了搜索引擎所需的全部工具,當(dāng)然,NUTCH只獲取并保存可索引的內(nèi)容,卻無(wú)法保持抓取網(wǎng)頁(yè)原貌。在此,研究可得三種開(kāi)源網(wǎng)絡(luò)爬蟲(chóng)的功能特點(diǎn)和使用范圍比較,具體如表1所示。表1三種開(kāi)源爬蟲(chóng)功能特點(diǎn)的和使用范圍FUNCTIONCHARACTERISTICSANDUSERANGEOFTHREETYPESOFOPENSOURCECRAWLERS6/11名稱使用平臺(tái)開(kāi)發(fā)語(yǔ)言效率鏡像保存分布抓取功能單一優(yōu)點(diǎn)缺點(diǎn)HERITRIXWINDOWS/LINUXJAVA中是否是高可擴(kuò)展性,性能穩(wěn)定,對(duì)抓取的控制性功能齊全。對(duì)中文支持較差,容錯(cuò)性機(jī)制差。LARBINLINUXC高是否是爬蟲(chóng)性能好,穩(wěn)定性強(qiáng)。沒(méi)有刪除功能,排重可能誤判。NUTCHWINDOWS/LINUXJAVA低否是否爬蟲(chóng)和LUCENE及HADOOP的結(jié)合很好,便于開(kāi)發(fā)搜索引擎。系統(tǒng)不穩(wěn)定。通過(guò)如上內(nèi)容分析,可以得出以下結(jié)論從功能方面來(lái)說(shuō),HERITRIX與LARBIN的功能類似,都是一個(gè)純粹的網(wǎng)絡(luò)爬蟲(chóng),提供網(wǎng)站的鏡像下載。NUTCH則是一個(gè)網(wǎng)絡(luò)搜索引擎框架,爬取網(wǎng)頁(yè)只是其功能的一部分。從分布式處理來(lái)說(shuō),NUTCH支持分布式處理,而其它兩個(gè)尚不支持。從爬取的網(wǎng)頁(yè)存儲(chǔ)方式來(lái)說(shuō),HERITRIX和LARBIN都是將爬取所獲內(nèi)容保存為原始類型的內(nèi)容。而NUTCH是將內(nèi)容保存到其特定格式中去。對(duì)于爬取所獲內(nèi)容的處理來(lái)說(shuō),HERITRIX和LARBIN7/11都是將爬取后的結(jié)果內(nèi)容不經(jīng)處理直接保存為原始內(nèi)容。而NUTCH卻將對(duì)文本進(jìn)行包括鏈接分析、正文提取、建立索引等深層處理。從爬取的效率來(lái)說(shuō),LARBIN效率較高,因?yàn)槠鋵?shí)現(xiàn)語(yǔ)言是C并且功能相對(duì)單一,但是該程序缺乏必要的更新服務(wù)。在進(jìn)行了有關(guān)軟件的擴(kuò)展性、鏡像保存方式及軟件更新等方面因素的綜合分析比對(duì)后,本文將擇取并利用HERITRIX開(kāi)源軟件來(lái)實(shí)現(xiàn)聚焦爬蟲(chóng)的設(shè)計(jì)?;贖ERITRIX軟件聚焦爬蟲(chóng)的設(shè)計(jì)在利用開(kāi)源HERITRIX軟件進(jìn)行聚焦爬蟲(chóng)設(shè)計(jì)時(shí),以中國(guó)西藏網(wǎng)HTTP/為例,針對(duì)有目標(biāo)網(wǎng)頁(yè)特征的網(wǎng)頁(yè)級(jí)信息配置正則表達(dá)式,采用深度優(yōu)先搜索策略進(jìn)行URL擴(kuò)展,利用網(wǎng)頁(yè)內(nèi)容關(guān)于“主題相關(guān)度”6的分析算法進(jìn)行主題判斷,實(shí)現(xiàn)聚焦爬蟲(chóng)的網(wǎng)站采集功能。開(kāi)源HERITRIX軟件工作原理HERITRIX開(kāi)源軟件采集網(wǎng)頁(yè)的方法是采取深度優(yōu)先搜索策略,遍歷網(wǎng)站的每一個(gè)URI,分析并生成本地文件及相應(yīng)的日志信息等,HERITRIX軟件抓取的是與原網(wǎng)頁(yè)一致的、完整的深度復(fù)制,包括圖像以及其他非文本內(nèi)容,抓取后并存儲(chǔ)相關(guān)的內(nèi)容。在網(wǎng)頁(yè)采集過(guò)程中,HERITRIX軟件不對(duì)頁(yè)面上內(nèi)容進(jìn)行修改,爬行相同的URL不進(jìn)行替換。8/11HERITRIX軟件通過(guò)WEB用戶界面啟動(dòng)、監(jiān)控、調(diào)整、允許彈性地定義要獲取的URL。HERITRIX軟件包含核心模塊和插件模塊。核心模塊能夠配置但不能覆蓋,插入模塊配置是否加載,也可以由第三方模塊取代。3開(kāi)源HERITRIX軟件關(guān)鍵模塊的改進(jìn)修改EXTRACTOR解析器修改HERITRIX的EXTRACTOR解析器時(shí),可采用正則表達(dá)式的方式擴(kuò)展待抓取的網(wǎng)頁(yè)。例如,在抓取中國(guó)西藏網(wǎng)的新聞時(shí),在EXTRACTOR解析器配置正則表達(dá)式HTTP/09AZ/AZ/09/09AZHTM,這樣就把服務(wù)器域名下的網(wǎng)頁(yè)所有信息全部抓取下來(lái)。但是,考慮垂直搜索引擎的使用范圍和聚焦爬蟲(chóng)對(duì)網(wǎng)頁(yè)主題的過(guò)濾功能,需要設(shè)計(jì)與實(shí)際主題搜索應(yīng)用相匹配的專用解析器,專用解析器EXTRACT要實(shí)現(xiàn)以下功能對(duì)所有不含有要抓取的結(jié)構(gòu)化信息頁(yè)面的URL、又不含有可以集中提取前者URL的種子型URL,都不作處理。從可以集中提取含結(jié)構(gòu)化信息頁(yè)面URL的種子型URL,提取全部的含結(jié)構(gòu)化信息頁(yè)面的URL。從含結(jié)構(gòu)化信息頁(yè)面的URL提取所需的結(jié)構(gòu)化信息,并加以記錄。擴(kuò)展FRONTIERSCHEDULER模塊9/11FRONTIERSCHEDULER是一個(gè)POSTPROCESSOR,其作用是將EXTRACTOR所分析得出的鏈接加入到FRONTIER中,以待繼續(xù)處理,聚焦爬蟲(chóng)實(shí)現(xiàn)關(guān)鍵詞對(duì)主題的判斷算法就在該模塊中構(gòu)建并執(zhí)行。主題相關(guān)度判斷的關(guān)鍵代碼如下PUBLICVOIDGETCOUNT/判斷待抓取網(wǎng)頁(yè)與主題是否相關(guān)TRYSTRINGS;/S取網(wǎng)頁(yè)正文字符LENLENGTH;/求網(wǎng)頁(yè)字符數(shù)FLOATD0;/初始化D,用于計(jì)算所有導(dǎo)向詞的權(quán)重和FOR/遍歷選取100個(gè)導(dǎo)向詞COUNT0,INTJ1;/COUNT為導(dǎo)向詞出現(xiàn)次數(shù),J為導(dǎo)向詞在字符串的位置TLENGTH;/求第I個(gè)導(dǎo)向詞的字符個(gè)數(shù)WHILEINTINDEX;/查找字串在J1到END之間第一個(gè)字符首次出現(xiàn)的位置IF/找到后,繼續(xù)在余下的字符串中找COUNT;JINDEXT1;10/11ELSEBREAK;DCOUNTB;/D是第I個(gè)導(dǎo)向詞的權(quán)重,B表示I個(gè)導(dǎo)向詞的權(quán)值。DDD;/將所有導(dǎo)向詞的權(quán)重求和K1/LEN1/100D;/K是網(wǎng)頁(yè)主題相關(guān)度,LEN是文章字符數(shù),100個(gè)導(dǎo)向詞IF;/相關(guān)度判斷;/表示輸出;/當(dāng)前URL加入HERITIX采集隊(duì)列聚焦爬蟲(chóng)接口的設(shè)計(jì)HERITRIX網(wǎng)絡(luò)爬蟲(chóng)是一個(gè)通用的網(wǎng)頁(yè)采集工具,需要對(duì)HERITRIX抓取和分析網(wǎng)頁(yè)的行為進(jìn)行一定的控制,修改EXTRACTOR和FRONTIERSCHEDULER模塊后,需要對(duì)其各個(gè)功能接口進(jìn)行操作調(diào)試,由此保證聚焦爬蟲(chóng)功能的全面實(shí)現(xiàn)。下面即對(duì)重要功能接口進(jìn)行必要介紹。應(yīng)用接口在設(shè)計(jì)聚焦爬蟲(chóng)時(shí),應(yīng)定制一個(gè)應(yīng)用接口模塊以供用戶使用,具體將負(fù)責(zé)與HERITRIX軟件關(guān)聯(lián),以提供啟、11/11停爬蟲(chóng)、獲取網(wǎng)址、采集關(guān)鍵詞等功能實(shí)現(xiàn)。數(shù)據(jù)庫(kù)查詢和修改接口在設(shè)計(jì)聚焦爬蟲(chóng)時(shí),應(yīng)設(shè)計(jì)相應(yīng)的數(shù)據(jù)庫(kù)接口,負(fù)責(zé)下載并發(fā)現(xiàn)與主題相關(guān)的網(wǎng)頁(yè)信息、再保存到數(shù)據(jù)庫(kù)的表中。存儲(chǔ)的字段包括網(wǎng)頁(yè)URL,本地存儲(chǔ)相對(duì)路徑

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論