搜索引擎中的網(wǎng)絡(luò)蜘蛛技術(shù)探析_第1頁
搜索引擎中的網(wǎng)絡(luò)蜘蛛技術(shù)探析_第2頁
搜索引擎中的網(wǎng)絡(luò)蜘蛛技術(shù)探析_第3頁
搜索引擎中的網(wǎng)絡(luò)蜘蛛技術(shù)探析_第4頁
搜索引擎中的網(wǎng)絡(luò)蜘蛛技術(shù)探析_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

搜索引擎中的網(wǎng)絡(luò)蜘蛛技術(shù)探析

摘要:搜索引擎技術(shù)可以從海量的網(wǎng)絡(luò)信息中獲得我們想要的信息,隨著網(wǎng)絡(luò)信息資源的急劇增長其作用越來越顯著。本文介紹了搜索引擎技術(shù)中的網(wǎng)路蜘蛛,分析了其對文件的處理方法,研究了其搜索與更新策略。

關(guān)鍵詞:搜索引擎;網(wǎng)路蜘蛛;更新策略

一網(wǎng)絡(luò)蜘蛛工作原理

網(wǎng)絡(luò)蜘蛛,即搜索引擎機(jī)器人程序。將整個(gè)互聯(lián)網(wǎng)想象成一張很大的蜘蛛網(wǎng),而搜索引擎機(jī)器人程序通過鏈接來抓取信息的過程就像是蜘蛛在這張網(wǎng)上爬來爬去一樣。網(wǎng)絡(luò)蜘蛛是通過鏈接地址來尋找網(wǎng)頁的。它由一個(gè)啟始鏈接開始抓取網(wǎng)頁內(nèi)容,同時(shí)也采集網(wǎng)頁上的鏈接,并將這些鏈接作為它下一步抓取的鏈接地址,如此循環(huán),直到達(dá)到某個(gè)停止條件后才會停止。停止條件的設(shè)定通常是以時(shí)間或是數(shù)量為依據(jù),有時(shí)也會以鏈接的層數(shù)來限制網(wǎng)絡(luò)蜘蛛的運(yùn)行。

二網(wǎng)路蜘蛛與網(wǎng)站的交互問題

網(wǎng)絡(luò)蜘蛛訪問一個(gè)網(wǎng)站,通常會去尋找一個(gè)特殊的文本文件,這個(gè)文件如果存在的話通常會放在網(wǎng)站的根目錄下。它是專門用來同網(wǎng)絡(luò)蜘蛛交互用的專用文件。它會將網(wǎng)站管理者的意思傳遞給訪問它的網(wǎng)絡(luò)蜘蛛,告訴網(wǎng)站同意或是禁止某些或是所有蜘蛛訪問網(wǎng)站的某個(gè)特定的網(wǎng)頁或者目錄。它的結(jié)構(gòu)和語法都比較簡單,一般網(wǎng)絡(luò)蜘蛛都可以很容易的理解網(wǎng)站的意思。正規(guī)的搜索引擎通過讀取這個(gè)文件可以很方便的理解網(wǎng)站的意思并按照網(wǎng)站管理者的意思來進(jìn)行友好的訪問。但是這個(gè)僅僅只是網(wǎng)絡(luò)的一個(gè)約定協(xié)議而以,并沒有對其制定相應(yīng)的強(qiáng)迫手段,更沒有提出相應(yīng)的懲罰,所以這個(gè)約定對于遵守者是有效的,但對于那些不懂生規(guī)矩的蜘蛛是一點(diǎn)作用都沒有。

在網(wǎng)頁中的Meta字段同樣也可以放入和上面文件相同效用的內(nèi)容,它可以告訴網(wǎng)絡(luò)蜘蛛這個(gè)網(wǎng)頁對于網(wǎng)站管理者來說,是需要被收錄還是僅僅被瀏覽或是根本就不允許蜘蛛訪問。這個(gè)字段通常會放在文檔的頭部,通過讀取這個(gè)字段,蜘蛛可以在沒有讀取到全部文檔的情況下就了解文檔的相關(guān)信息,可以避免將無效的網(wǎng)頁取下來后又將其廢棄而造成無謂的浪費(fèi)。同樣這個(gè)規(guī)則也是沒有特殊限制的,遵守程度完全靠網(wǎng)絡(luò)蜘蛛的自覺性和網(wǎng)站的設(shè)計(jì)方式來決定。為了讓網(wǎng)站被搜索引擎搜索到,尤其是那些網(wǎng)站所有者希望網(wǎng)絡(luò)蜘蛛采集的網(wǎng)頁,網(wǎng)站的設(shè)計(jì)者通常會在網(wǎng)站中放入一個(gè)叫做的網(wǎng)頁,并將它作為網(wǎng)站的入口文件。

三網(wǎng)絡(luò)蜘蛛對于文件的處理

(一)二進(jìn)制文件處理

網(wǎng)絡(luò)上除了有大量的HTML文件和XML文件外,也有大量的二進(jìn)制文件。為了使網(wǎng)頁的內(nèi)容更加豐富,圖片和多媒體文件被網(wǎng)頁大量的引用。它們在網(wǎng)頁上也是以超鏈接的形式出現(xiàn)的,因而在鏈接提取的階段它們也是會被放在待訪問隊(duì)列中。對于二進(jìn)制文件通過文件的內(nèi)容來完成文件的索引是不現(xiàn)實(shí)的,現(xiàn)在的技術(shù)還沒有達(dá)到可以通過二進(jìn)制文件來理解文件內(nèi)容的地步。因而對于這些文件的處理一般是采用單獨(dú)處理的方式,其內(nèi)容的理解完全需要依靠二進(jìn)制文件的錨點(diǎn)描述來完成。錨點(diǎn)描述通常代表了文件的標(biāo)題或是基本內(nèi)容。錨點(diǎn)信息一般是由引用網(wǎng)頁來提供,而不是放在二進(jìn)制文件本身。二進(jìn)制文件由于種類的差別問題,也需要分別來進(jìn)行處理。

(二)腳本文件的處理

這里說的腳本文件一般指的是包含在網(wǎng)頁中的客戶端腳本,它會在網(wǎng)頁下載到客戶端的時(shí)候才會運(yùn)行,通常會在客戶端上完成一些簡單的交互工作。腳本文件一般會在網(wǎng)頁中負(fù)責(zé)網(wǎng)頁的顯示工作,但由于ajax技術(shù)的廣泛使用,它也會負(fù)責(zé)與服務(wù)器端的交互工作。由于腳本語言的多樣性和復(fù)雜性,對它的分析處理無異于制作一個(gè)簡單的網(wǎng)頁解析程序。正是因?yàn)樘幚砟_本文件相當(dāng)困難,許多小規(guī)模的搜索引擎往往會直接省略對它的處理。但是由于現(xiàn)在網(wǎng)站設(shè)計(jì)者對于無刷新頁面要求的提高和對ajax技術(shù)的大量使用,如果忽略了對它的處理將會是一項(xiàng)巨大的損失。

(三)不同文件類型處理

對于網(wǎng)頁內(nèi)容的提取分析一直是網(wǎng)絡(luò)蜘蛛的重要技術(shù)環(huán)節(jié)。對于網(wǎng)上不同文件類型文件的處理,網(wǎng)絡(luò)蜘蛛通常是采用插件的方式來處理。它會有一個(gè)比較智能化的插件管理程序負(fù)責(zé)管理不同的插件,對于需要處理的不同類型的文件,它會調(diào)用不同的插件來處理。之所以是采用插件的形式,主要是出于擴(kuò)展性方面的考慮?;ヂ?lián)網(wǎng)上有許多不同類型的文件,不同的文件需要完全不同的處理方式,而且這個(gè)網(wǎng)絡(luò)是不斷變化的,隨時(shí)會有新文件類型出現(xiàn)的可能。而要完成對新類型的處理,最簡單的方法就是給新類型編寫新的插件,然后將插件直接交由管理程序來管理。同時(shí)這個(gè)插件的編寫最好是由新文件格式的制造者自行完成,通常只有制造者才最了解新格式定義的意義。

四網(wǎng)絡(luò)蜘蛛的策略分析

(一)搜索策略

網(wǎng)絡(luò)蜘蛛的搜索策略指的是如何根據(jù)抓取下來的URL地址來選擇訪問地址先后的一種標(biāo)準(zhǔn)或規(guī)則。它將指導(dǎo)蜘蛛程序下一步的執(zhí)行方向。搜索策略一般有深度優(yōu)先的搜索策略和廣度優(yōu)先的搜索策略兩種。

廣度優(yōu)先的搜索是最簡便的圖搜索算法,在數(shù)據(jù)結(jié)構(gòu)上通常會以先進(jìn)先出的隊(duì)列結(jié)構(gòu)為主,管理和實(shí)現(xiàn)起來都相當(dāng)?shù)暮唵?,一般被認(rèn)為是盲目的搜索。它是一種以搜索更多的網(wǎng)頁為優(yōu)先的一種貪婪的搜索策略。它會先讀取一個(gè)文檔,保存下文檔上的所有鏈接,然后讀取所有這些鏈接文檔,并依次進(jìn)行下去。這樣做的好處是避免了在極短的時(shí)間內(nèi)連續(xù)訪問這臺服務(wù)器上的文檔的可能性,因?yàn)橐粋€(gè)文檔上的鏈接通常會有幾個(gè)跳到別的服務(wù)器上,這樣做十分有利于避免影響別的服務(wù)器工作。這種方法也通常被應(yīng)用于聚焦爬蟲中。其基本思想是認(rèn)為與初始uRL在一定鏈接距離內(nèi)的網(wǎng)頁具有主題相關(guān)性的概率很大。同時(shí)它還可以使盡可能多的服務(wù)器有文檔被索引服務(wù)器收集。它的缺點(diǎn)是很難深入到文檔里面,而且隨著抓取網(wǎng)頁的增多,大量的無關(guān)網(wǎng)頁將被下載并過濾,算法的效率變得十分的低下。

深度優(yōu)先的搜索策略是以先進(jìn)后出的棧方式來處理URL地址的。網(wǎng)絡(luò)蜘蛛程序分析一個(gè)文檔,并取出它的第一個(gè)鏈接所指的文檔繼續(xù)分析,然后如此繼續(xù)下去。它的優(yōu)點(diǎn)就是能夠較好的深入和發(fā)掘站點(diǎn)的結(jié)構(gòu),而且這種算法十分穩(wěn)定,效率方面也是有所保障的。它對于搜索部分小的網(wǎng)站是有好處的。它的缺點(diǎn)是十分明顯的,不斷的短時(shí)間的訪問同一臺服務(wù)器的問題將非常的嚴(yán)重,而且它還容易陷入無限循環(huán)的文檔樹,這種算法處理這個(gè)問題的能力相當(dāng)?shù)挠邢蕖?/p>

將兩種算法結(jié)合起來也是一種不錯(cuò)的辦法,這兩種算法互有長短,有些地方也可以形成互補(bǔ)。以一種算法為主,一種算法相輔的辦法可以達(dá)到取長補(bǔ)短的效果。除了以上的算法之外,最好優(yōu)先算法也經(jīng)常被采用,它通過對采集的鏈接通過一些關(guān)于網(wǎng)頁質(zhì)量和效率的算法來排序,優(yōu)秀者將優(yōu)先被抓取。但是這個(gè)關(guān)于質(zhì)量和效率的算法則又有許多不同的版本,在這里就不作詳細(xì)的展開了。除去這些常用的算法,還有一些不常被人采用的優(yōu)秀算法,如Hash算法,遺傳算法等。

(二)更新策略

索引中大量的網(wǎng)頁是很少變化的,對所有的網(wǎng)頁按照同一頻率統(tǒng)一更新是完全沒有必要的。因而以網(wǎng)頁變化的周期為依據(jù),只對那些經(jīng)常變化的網(wǎng)頁做更新操作也是一些小型的搜索引擎常采用的方法。但是只對部分網(wǎng)頁做更新可能會漏掉一些重要網(wǎng)頁的更新工作,所以網(wǎng)絡(luò)爬蟲也經(jīng)常采用個(gè)體更新的策略。它是以個(gè)別網(wǎng)頁的變化頻率來決定對網(wǎng)頁的更新頻率,這樣一來基本上每個(gè)網(wǎng)頁都會有一個(gè)獨(dú)立的更新頻率。雖然這樣做對于網(wǎng)頁更新基本做到了變化與更新同步,在邏輯上也最合乎實(shí)際情況,但是為每個(gè)網(wǎng)頁

溫馨提示

  • 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

提交評論