版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第11卷第4期軟件導(dǎo)刊SoftwareGuide網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)王娟,吳金鵬(貴州民族學(xué)院計(jì)算機(jī)與信息工程學(xué)院,貴州貴陽(yáng)550025)摘要:搜索引擎技術(shù)隨著互聯(lián)網(wǎng)的日益壯大而飛速發(fā)展。作為搜索引擎不可或缺的組成部分,網(wǎng)絡(luò)爬蟲(chóng)的作用顯得尤為重要,它的性能直接決定了在龐大的互聯(lián)網(wǎng)上進(jìn)行網(wǎng)頁(yè)信息采集的質(zhì)量。設(shè)計(jì)并實(shí)現(xiàn)了通用爬蟲(chóng)和限定爬蟲(chóng)。關(guān)鍵詞:網(wǎng)絡(luò)爬蟲(chóng);通用爬蟲(chóng);限定爬蟲(chóng)中圖分類號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1672—7800(
2、2012)004—0136—020引言網(wǎng)絡(luò)爬蟲(chóng)也稱網(wǎng)絡(luò)蜘蛛,它為搜索引擎從萬(wàn)維網(wǎng)上下載網(wǎng)頁(yè),并沿著網(wǎng)頁(yè)的相關(guān)鏈接在Web中采集資源,是一個(gè)功能很強(qiáng)的網(wǎng)頁(yè)自動(dòng)抓取程序,也是搜索引擎的重要組成部分,爬蟲(chóng)設(shè)計(jì)的好壞直接決定著整個(gè)搜索引擎的性能及擴(kuò)展能力。網(wǎng)絡(luò)爬蟲(chóng)按照系統(tǒng)結(jié)構(gòu)和實(shí)現(xiàn)技術(shù),大致可以分為:通用網(wǎng)絡(luò)爬蟲(chóng)、主題網(wǎng)絡(luò)爬蟲(chóng)、增量式網(wǎng)絡(luò)爬蟲(chóng)、深層網(wǎng)絡(luò)爬蟲(chóng)。實(shí)際應(yīng)用中通常是將幾種爬蟲(chóng)技術(shù)相結(jié)合。1通用爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)11工作原理通用網(wǎng)絡(luò)爬蟲(chóng)根據(jù)
3、預(yù)先設(shè)定的一個(gè)或若干初始種子URI開(kāi)始,以此獲得初始網(wǎng)頁(yè)上的URL列表,在爬行過(guò)程中不斷從URL隊(duì)列中獲一個(gè)個(gè)的URL,進(jìn)而訪問(wèn)并下載該頁(yè)面。頁(yè)面下載后頁(yè)面解析器去掉頁(yè)面上的HTML標(biāo)記后得到頁(yè)面內(nèi)容,將摘要、URI等信息保存到Web數(shù)據(jù)庫(kù)中,同時(shí)抽取當(dāng)前頁(yè)面上新的URI,保存到URL隊(duì)列,直到滿足系統(tǒng)停止條件。其原理如圖1所示。12爬行策略為提高工作效率,通用網(wǎng)絡(luò)爬蟲(chóng)會(huì)采取一定的爬行策略優(yōu)先爬取重要的網(wǎng)頁(yè)。常用的有深度優(yōu)先和寬度優(yōu)先策
4、略。寬度優(yōu)先算法的設(shè)計(jì)和實(shí)現(xiàn)相對(duì)簡(jiǎn)單,可以覆蓋盡可能多的網(wǎng)頁(yè),是使用最廣泛的一種爬行策略。一個(gè)爬蟲(chóng)如何利用寬度優(yōu)先遍歷來(lái)抓取網(wǎng)頁(yè)呢在爬蟲(chóng)中,每個(gè)鏈接對(duì)應(yīng)一個(gè)HTML頁(yè)面或者其它文件,通常將HTML頁(yè)面上的超鏈接稱為“子節(jié)點(diǎn)”。整個(gè)寬度優(yōu)先爬蟲(chóng)就是從一系列的種子節(jié)點(diǎn)開(kāi)始,把這些網(wǎng)頁(yè)中的“子節(jié)點(diǎn)”提取出來(lái),放到隊(duì)列中依次進(jìn)行抓取。被訪問(wèn)過(guò)的節(jié)點(diǎn)放人到另一張表中,過(guò)程如圖2所示。圖l通用爬蟲(chóng)工作流程圖2寬度優(yōu)先爬蟲(chóng)過(guò)程13爬蟲(chóng)隊(duì)列設(shè)計(jì)爬蟲(chóng)隊(duì)列
5、設(shè)計(jì)是網(wǎng)絡(luò)爬蟲(chóng)的關(guān)鍵。因?yàn)榕老x(chóng)隊(duì)列要存儲(chǔ)大量的URL,所以依靠本地鏈表或者隊(duì)列肯定是不夠的,應(yīng)當(dāng)尋找一個(gè)性價(jià)比高的數(shù)據(jù)庫(kù)來(lái)存放URL隊(duì)列,BerkeleyDB是目前一種比較流行的內(nèi)存數(shù)據(jù)庫(kù)。根據(jù)爬蟲(chóng)的特點(diǎn),Hash表成為了一種比較好的選擇。但是在使用Hash存儲(chǔ)URL字符串的時(shí)候常用MD5算法來(lái)對(duì)URL進(jìn)行壓縮。在實(shí)現(xiàn)了爬蟲(chóng)隊(duì)列之后就要繼續(xù)實(shí)現(xiàn)Visited表了。如何在大量的URL中辨別哪些是新的、哪些是被訪問(wèn)過(guò)的呢通常使用的技術(shù)就是布
6、隆過(guò)濾器(BloomFilter)。利用布隆過(guò)濾器判斷一個(gè)元素是否在集合中是目前比較高效實(shí)用的方法。14設(shè)計(jì)爬蟲(chóng)架構(gòu)爬蟲(chóng)框架結(jié)構(gòu)如圖3所示。圖3爬蟲(chóng)結(jié)構(gòu)作者簡(jiǎn)介:王娟(1983一),女,湖南邵東人,碩士,貴州民族學(xué)院講師,研究方向?yàn)閿?shù)據(jù)挖掘、網(wǎng)絡(luò)安全;吳金鵬(1989一),男,山西晉中人,貴州民族學(xué)院本科生,研究方向?yàn)橛?jì)算機(jī)科學(xué)與技術(shù)。第4期王娟,吳金鵬:網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)137。其中:①URLFrontier含有爬蟲(chóng)當(dāng)前準(zhǔn)備抓取的U
7、RL;②DNS解析模塊用來(lái)解析域名(根據(jù)給定的URL決定從哪個(gè)Web獲取網(wǎng)頁(yè));③解析模塊提取文本和網(wǎng)頁(yè)的鏈接集合;④重復(fù)消除模塊決定一個(gè)解析出來(lái)的鏈接是否已經(jīng)在URLFronier或者是否最近下載過(guò)。下面通過(guò)實(shí)驗(yàn)來(lái)比較一下我們?cè)O(shè)計(jì)的爬蟲(chóng)抓取網(wǎng)頁(yè)與原網(wǎng)頁(yè)的對(duì)比,見(jiàn)圖4、圖5。誓一鎏~~::蔓0蝴::=圖4原網(wǎng)頁(yè)圖5抓取網(wǎng)頁(yè)通過(guò)比較可以發(fā)現(xiàn),由于原網(wǎng)頁(yè)有動(dòng)畫(huà)等多媒體元素,雖然爬蟲(chóng)無(wú)法抓取下來(lái)全部?jī)?nèi)容,但基本上是一個(gè)完整的爬蟲(chóng)。2限定爬蟲(chóng)的
8、設(shè)計(jì)與實(shí)現(xiàn)限定爬蟲(chóng)就是對(duì)爬蟲(chóng)所爬取的主機(jī)的范圍作一些限制。通常限定爬蟲(chóng)包含以下內(nèi)容:①限定域名的爬蟲(chóng);②限定爬取層數(shù)的爬蟲(chóng);③限定IP的抓??;④限定語(yǔ)言的抓取。限定域名的抓取,是一種最簡(jiǎn)單的限定抓取,只需要根據(jù)當(dāng)前URL字符串的值來(lái)作出限定即可。限定爬蟲(chóng)爬取的層次要比限定域名更復(fù)雜。限定IP是限定抓取中最難的一部分。通常分為限定特定IP和限定某一地區(qū)的IP。限定特定IP抓取較為容易,只要通過(guò)URL就可以獲得主機(jī)IP地址,如果主機(jī)IP在被
9、限制的列表中就不抓取。否則正常工作。想要限定IP抓取,首先要根據(jù)主機(jī)字符串獲得IP地址。下面我們通過(guò)實(shí)驗(yàn)來(lái)得到IP地址:貴州民族學(xué)院:主機(jī)域名:wwwgznceducnIP地址:21040I328貴州大學(xué):主機(jī)域名:wwwgzueducnIP地址:21040058根據(jù)URI得到IP地址之后,就要根據(jù)IP地址對(duì)某一地區(qū)的IP作出限制。但是需要有一個(gè)IP與地區(qū)對(duì)應(yīng)的數(shù)據(jù)庫(kù),網(wǎng)上很多這樣的數(shù)據(jù)庫(kù)都是收費(fèi)的,在此我們使用的是騰訊公司推出的一款免
10、費(fèi)數(shù)據(jù)庫(kù)“QQwrydat”,只要輸人IP地址就可以查到對(duì)應(yīng)IP地址所在的區(qū)域。輸入:21040058輸出:貴州省貴陽(yáng)市:貴州大學(xué)輸入:210401328輸出:貴州省貴陽(yáng)市:貴州民族學(xué)院根據(jù)IP地址制作一張列表,將限制地區(qū)的IP地址寫(xiě)入列表,爬蟲(chóng)如果檢測(cè)到要抓取的IP地址屬于該列表,就放棄抓取,這樣一個(gè)限定爬蟲(chóng)就完成了。3結(jié)束語(yǔ)本文介紹了爬蟲(chóng)的工作原理,重點(diǎn)介紹了通用爬蟲(chóng)和限定爬蟲(chóng)的設(shè)計(jì)及實(shí)現(xiàn),并通過(guò)實(shí)驗(yàn)證明本文設(shè)計(jì)的爬蟲(chóng)可以達(dá)到預(yù)期效
11、果。參考文獻(xiàn):[1]孫立偉,何國(guó)輝,吳禮發(fā)網(wǎng)絡(luò)爬蟲(chóng)技術(shù)的研究[J]電腦知識(shí)與技術(shù),2010(15)[23于成龍,于洪波網(wǎng)絡(luò)爬蟲(chóng)技術(shù)研究[J]東莞理工學(xué)院學(xué)報(bào),2011(3)[3]羅剛自己動(dòng)手寫(xiě)搜索引擎[M]北京:電子工業(yè)出版社,2009E4]唐波網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)[J]電腦知識(shí)與技術(shù),2009(11)[5]龔勇搜索引擎中網(wǎng)絡(luò)爬蟲(chóng)的研究[D]武漢:武漢理工大學(xué),2010(責(zé)任編輯:杜能鋼)TheDesignandImplementati
12、onofWebCrawlerAbstract:WiththegrowingofInternet,searchenginetechnologydevelopsrapidlyAsanindispensablepartofsearchangine,webcrawlerisparticularlyimportant,itsperformancedirectlydeterminesthequalityofgatheringwebpageinfor
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)---網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)
- 并行網(wǎng)絡(luò)爬蟲(chóng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- Inar網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于java的網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)
- 網(wǎng)絡(luò)輿情爬蟲(chóng)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)(完整版)
- 面向主題的網(wǎng)絡(luò)爬蟲(chóng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)畢設(shè)論文
- 網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)(完整版)分解
- 支持AJAX的網(wǎng)絡(luò)爬蟲(chóng)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于社交網(wǎng)絡(luò)信息爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 主題網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)---畢業(yè)論文
- 主題網(wǎng)絡(luò)爬蟲(chóng)的研究與實(shí)現(xiàn).pdf
- 分布式網(wǎng)絡(luò)爬蟲(chóng)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 網(wǎng)絡(luò)爬蟲(chóng)系統(tǒng)的研究與實(shí)現(xiàn).pdf
- 分布式主題網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于網(wǎng)絡(luò)爬蟲(chóng)的網(wǎng)絡(luò)輿情分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 面向教育輿情的主題網(wǎng)絡(luò)爬蟲(chóng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 畢業(yè)論文(設(shè)計(jì))面向web service的網(wǎng)絡(luò)爬蟲(chóng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于頁(yè)面分析的網(wǎng)絡(luò)爬蟲(chóng)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論