網(wǎng)絡(luò)爬蟲論文_第1頁
網(wǎng)絡(luò)爬蟲論文_第2頁
網(wǎng)絡(luò)爬蟲論文_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、網(wǎng)絡(luò)爬蟲摘要隨著互聯(lián)網(wǎng)的日益壯大,搜索引擎技術(shù)飛速發(fā)展。搜索引擎已成為人們在浩瀚的網(wǎng)絡(luò)世界中獲取信息必不可少的工具,利用何種策略有效訪問網(wǎng)絡(luò)資源成為專業(yè)搜索引擎中網(wǎng)絡(luò)爬蟲研究的主要問題。文章介紹了搜索引擎的分類及其工作原理.闡述了網(wǎng)絡(luò)爬蟲技術(shù)的搜索策略,對新一代搜索引擎的發(fā)展趨勢進(jìn)行了展望。關(guān)鍵詞網(wǎng)絡(luò)爬蟲;策略;搜索引擎概念:網(wǎng)絡(luò)爬蟲也叫網(wǎng)絡(luò)蜘蛛,它是一個(gè)按照一定的規(guī)則自動提取網(wǎng)頁程序,其會自動的通過網(wǎng)絡(luò)抓取互聯(lián)網(wǎng)上的網(wǎng)頁,這種技術(shù)一般可能用來檢查你的站點(diǎn)上所有的鏈接是否是都是有效的。當(dāng)然,更為高級的技術(shù)是把網(wǎng)頁中的相關(guān)數(shù)據(jù)保存下來,可以成為搜索引擎。搜索引擎使用網(wǎng)絡(luò)爬蟲尋找網(wǎng)絡(luò)內(nèi)容,網(wǎng)絡(luò)上的

2、HTML文檔使用超鏈接連接了起來,就像織成了一張網(wǎng),網(wǎng)絡(luò)爬蟲也叫網(wǎng)絡(luò)蜘蛛,順著這張網(wǎng)爬行,每到一個(gè)網(wǎng)頁就用抓取程序?qū)⑦@個(gè)網(wǎng)頁抓下來,將內(nèi)容抽取出來,同時(shí)抽取超鏈接,作為進(jìn)一步爬行的線索。網(wǎng)絡(luò)爬蟲總是要從某個(gè)起點(diǎn)開始爬,這個(gè)起點(diǎn)叫做種子,你可以告訴它,也可以到一些網(wǎng)址列表網(wǎng)站上獲取。網(wǎng)絡(luò)爬蟲的構(gòu)成及分類網(wǎng)絡(luò)爬蟲又被稱為做網(wǎng)絡(luò)蜘蛛、網(wǎng)絡(luò)機(jī)器人,主要用于網(wǎng)絡(luò)資源的收集工作。在進(jìn)行網(wǎng)絡(luò)輿情分析時(shí),首要獲取輿情信息內(nèi)容,這就需要用到網(wǎng)絡(luò)爬蟲(蜘蛛程序)這個(gè)工具,它是一個(gè)能自動提取網(wǎng)頁內(nèi)容的程序,通過搜索引擎從互聯(lián)網(wǎng)上爬取網(wǎng)頁地址并抓取相應(yīng)的網(wǎng)頁內(nèi)容,是搜索引擎(SearchEngine)的重要組成部分。

3、一個(gè)典型的網(wǎng)絡(luò)爬蟲主要組成部分如下:1 .URL鏈接庫,主要用于存放爬取網(wǎng)頁鏈接。2 .文檔內(nèi)容模塊,主要用于存取從Web中下載的網(wǎng)頁內(nèi)容。3 .文檔解析模塊,用于解析下載文本中的網(wǎng)頁內(nèi)容,如解析PDF,Word,HTML等。4 .存儲文檔的元數(shù)據(jù)以及內(nèi)容的庫。5 .規(guī)范化URL模塊,用于把URL轉(zhuǎn)成標(biāo)準(zhǔn)的格式。6 .URL過濾器,主要用于過濾掉不需要的URL。上述模塊的設(shè)計(jì)與實(shí)現(xiàn),主要是確定爬取的內(nèi)容以及爬去的范圍。最簡單的例子是從一個(gè)已知的站點(diǎn)抓取一些網(wǎng)頁,這個(gè)爬蟲用少量代碼就可以完成。然而在實(shí)際互聯(lián)網(wǎng)應(yīng)用中,可能會碰到爬去大量內(nèi)容需求,就需要設(shè)計(jì)一個(gè)較為復(fù)雜的爬蟲,這個(gè)爬蟲就是N個(gè)應(yīng)用的

4、組成,并且難點(diǎn)是基于分布式的。網(wǎng)絡(luò)爬蟲的工作原理傳統(tǒng)網(wǎng)路爬蟲的工作原理是,首先選擇初始URL,并獲得初始網(wǎng)頁的域名或IP地址,然后在抓取網(wǎng)頁時(shí),不斷從當(dāng)前頁面上獲取新的URL放入候選隊(duì)列,直到滿足停止條件。聚焦爬蟲(主題驅(qū)動爬蟲)不同于傳統(tǒng)爬蟲,其工作流程比較復(fù)雜,首先需要過濾掉跟主題不相關(guān)的鏈接,只保留有用的鏈接并將其放入候選URL隊(duì)列。然后,根據(jù)搜索策略從候選隊(duì)列中選擇下一個(gè)要抓取的網(wǎng)頁鏈接,并重復(fù)上述過程,直到滿足終止條件為止。與此同時(shí),將所有爬取的網(wǎng)頁內(nèi)容保存起來,并進(jìn)行過濾、分析、建立索引等以便進(jìn)行性檢索和查詢??傮w來講,網(wǎng)絡(luò)爬蟲主要有如下兩個(gè)階段:第一階段,URL庫初始化然后開始爬

5、取。第二階段,爬蟲讀取沒有訪問過的URL,來確定它的工作范圍。其中,對于所要抓取的URL鏈接,進(jìn)行以下步驟:1,獲取URL鏈接。2 .解析內(nèi)容,獲取URL及相關(guān)數(shù)據(jù)。3,存儲有價(jià)值的數(shù)據(jù)。4,對新抓取的URL進(jìn)行規(guī)范化。5 .過濾掉不相關(guān)的URL。6,將要抓取的URL更新到URL庫中。7 .重復(fù)步驟2,直到終止條件為止。網(wǎng)絡(luò)爬蟲的搜索策略目前,比較常見的網(wǎng)絡(luò)爬蟲搜索策略有以下三種:1、廣度優(yōu)先搜索策略。其主要思想是,由根節(jié)點(diǎn)開始,首先遍歷當(dāng)前層次的搜索,然后才進(jìn)行下一層的搜索,依次類推逐層的搜索。這種策略多用在主題爬蟲上,因?yàn)樵绞桥c初始URL距離近的網(wǎng)頁,其具有的主題相關(guān)性越大。2、深度優(yōu)先搜

6、索策略。這種策略的主要思想是,從根節(jié)點(diǎn)出發(fā)找出葉子節(jié)點(diǎn),以此類推。在一個(gè)網(wǎng)頁中,選擇一個(gè)超鏈接,被鏈接的網(wǎng)頁將執(zhí)行深度優(yōu)先搜索,形成單獨(dú)的一條搜索鏈,當(dāng)沒有其他超鏈接時(shí),搜索結(jié)束。3、最佳優(yōu)先搜索策略。該策略通過計(jì)算URL描述文本與目標(biāo)網(wǎng)頁的相似度,或者與主題的相關(guān)性,根據(jù)所設(shè)定的閾值選出有效URL進(jìn)行抓取。爬行算法數(shù)據(jù)采集的效率及覆蓋率受爬行算法的影響,現(xiàn)在比較流行和經(jīng)典的爬行算法都是在Best-Frist算法的基礎(chǔ)上改進(jìn)和演化而來,各種算法的不同之處是:對待爬的URLs采用不同的啟發(fā)式規(guī)則來進(jìn)行打分并排序,同時(shí)在爬行之前或在爬行過程中對算法的參數(shù)進(jìn)行優(yōu)化。1、Best-First算法Bes

7、t-First算法通過維持一個(gè)排序的URLs優(yōu)先級隊(duì)列,通過計(jì)算主題與所抓取網(wǎng)頁P(yáng)的cosinesimilarity(余弦相似度)來確定Urlsfrontier中的Urls的優(yōu)先級。相似度計(jì)算公式如下:(2-1)式中,q為主題,p為抓取的網(wǎng)頁。Best-Frist爬行算法如下:i, 初始化,設(shè)定查詢主題(topic),初始種子結(jié)點(diǎn)集合(starting_urls),爬取的最大網(wǎng)頁數(shù)量(MAX_PAGES)以及frontier的容量限制(MAX_BUFFER);ii, 把初始結(jié)點(diǎn)集合(starting_urls)中所有l(wèi)ink插入到frontier隊(duì)列(初始為空);iii,循環(huán)(當(dāng)frontie

8、r隊(duì)列非空且爬行的網(wǎng)頁數(shù))a)從frontier中取出優(yōu)先級最高的鏈接(link):link=dequeue_link_with_max_score(frontier)b)訪問并下載該link對應(yīng)的頁面(doc):doc=fetch_new_page(link)c)計(jì)算頁面與主題的相似度(score):score=sim(topic,doc)d)抽取doc中的所有超鏈接(outlinks)e)循環(huán)(對于頁面doc中的每一個(gè)超鏈接outlink)If(#frontier=MAX_BUFFER)(當(dāng)frontier中鏈接的數(shù)量大于等于最大限制)Thendequeue_link_with_min_s

9、core(frontier)(從frontier刪除最小優(yōu)先級鏈接)Elseenqueue(frontier,outlink,score)(把鏈接和優(yōu)先級加入frontier隊(duì)列)f)循環(huán)結(jié)束(完成doc中的鏈接入frontier隊(duì)列過程)iv.循環(huán)結(jié)束(結(jié)束爬行)2、SharkSearch算法SharkSearch算法是Hersovici等在Fish-Search算法的基礎(chǔ)上進(jìn)行了一些改進(jìn),使用向量空間模型構(gòu)建查詢q與網(wǎng)頁、鏈接錨文本及鏈接附近文本的空間向量并計(jì)算其余弦相似度cosine值,相似度為介于0和1之間的連續(xù)值0,1,從而代替Fish-Search算法的關(guān)鍵字及正則表達(dá)式匹配的相關(guān)

10、性為0,1的離散值0,1,Sharksearch算法同時(shí)利用了錨文本、鏈接附近文本和父頁面相關(guān)度信息三方面的相關(guān)度線索。同F(xiàn)ish-Search算法一樣,該算法也設(shè)定了爬行的深度界限(DepthBound)。在爬行隊(duì)列中的每一個(gè)鏈接都關(guān)聯(lián)一個(gè)深度界限和優(yōu)先級度量值。深度界限由用戶設(shè)定,鏈接的優(yōu)先級值由父頁面相關(guān)性、錨文本及鏈接附近文本共同決定。具體算法如下:i.初始化:設(shè)定初始節(jié)點(diǎn),深度界限(D),爬行尺度(S),時(shí)限,搜索查詢q;ii .設(shè)定初始節(jié)點(diǎn)的深度界限depth=D,并把節(jié)點(diǎn)插入到爬行隊(duì)列(初始為空);iii .循環(huán)(當(dāng)隊(duì)列非空且下載的節(jié)點(diǎn)數(shù)0(當(dāng)前節(jié)點(diǎn)相關(guān))Theninherite

11、d_score(child_node)=*sim(q,current_node)其中為預(yù)先設(shè)定的衰減因子=0.5;Elseinherited_score(child_node)=*inherited_score(current_node);b)提取anchor_text及anchor_text_context(通過預(yù)先設(shè)定的邊界,如:1);c)計(jì)算錨文本的相關(guān)度值:d)計(jì)算錨文本的相關(guān)度值:Ifanchor_score0,Thenanchor_context_score=1Elseanchor_context_score=sim(q,anchor_text_context);e)計(jì)算ancho

12、r的相關(guān)度,neihgorhood_score:其中為預(yù)設(shè)的常量等于0.8;f)計(jì)算孩子節(jié)點(diǎn)的潛在值其中為預(yù)設(shè)的常量小于1,一般設(shè)為0.5。iv.循環(huán)結(jié)束。網(wǎng)絡(luò)爬蟲技術(shù)的最新發(fā)展傳統(tǒng)的網(wǎng)絡(luò)爬蟲技術(shù)主要應(yīng)刷于抓取靜態(tài)Web網(wǎng)頁l31.隨著AJAX/Web2.0的流行,如何抓取AJAX等動態(tài)頁面成了搜索引擎急需解決的問題,因?yàn)锳JAX顛覆了傳統(tǒng)的純HTTP請求/響應(yīng)協(xié)議機(jī)制,如果搜索引擎依舊采用“爬”的機(jī)制,是無法抓取到AJAX頁面的有效數(shù)據(jù)的。AJAX采用了JavaScript驅(qū)動的異步請求/響應(yīng)機(jī)制.以往的爬蟲們?nèi)狈avaScript語義上的理解.基本上無法模擬觸發(fā)JavaScript的異步調(diào)用并解析返回的異步回淵邏輯和內(nèi)容另外.在AJAX的應(yīng)用中,JavaScript會對D0M結(jié)構(gòu)進(jìn)行大量變動,甚至頁面所有內(nèi)容都通過JavaScript直接從服務(wù)器端讀取并動態(tài)繪制出來。這對習(xí)慣了D0M結(jié)構(gòu)相對不變的靜態(tài)頁面簡直是無法理解的由此可以看出.以往的爬蟲是基于協(xié)議驅(qū)動的,而對于AJAX這樣的技術(shù),所需要的爬蟲引擎必須是基于事件驅(qū)動的。要實(shí)現(xiàn)事件驅(qū)動,首先需要解決JavaScript的交互分析和解釋的問題??偨Y(jié)近幾年,國內(nèi)關(guān)于網(wǎng)絡(luò)

溫馨提示

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

評論

0/150

提交評論