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