亚洲免费人人妻人人,cao78在线视频,福建一级毛片,91精品视频免费观看,高清另类图片操逼,日本特黄特色大片免费看,超碰欧美人人澡曰曰澡夜夜泛

引擎蜘蛛工作原理

時間:2023-05-01 00:36:26 資料 我要投稿
  • 相關(guān)推薦

引擎蜘蛛工作原理

關(guān)于搜索引擎蜘蛛程序的一些原理及體系結(jié)構(gòu)純技術(shù)文章,一些地方可能不會看的很明白,對于SEO行業(yè),經(jīng)常和搜索引擎及其爬蟲程序打交道,仔細(xì)瀏覽下,一些不清楚而自己又很想了解的地方,可以借助搜索來需找相關(guān)解釋,對工作還是有幫助的(個人認(rèn)為值得注意的地方已加紅顯示)。

搜索引擎蜘蛛工作原理

1、聚焦爬蟲工作原理及關(guān)鍵技術(shù)概述

搜索引擎蜘蛛是一個自動提取網(wǎng)頁的程序,它為搜索引擎從Internet網(wǎng)上下載網(wǎng)頁,是搜索引擎的重要組成。傳統(tǒng)爬蟲從一個或若干初始網(wǎng)頁的URL開始,獲得初始網(wǎng)頁上的URL,在抓取網(wǎng)頁的過程中,不斷從當(dāng)前頁面上抽取新的URL放入隊列,直到滿足系統(tǒng)的一定停止條件。聚焦爬蟲的工作流程較為復(fù)雜,需要根據(jù)一定的網(wǎng)頁分析算法過濾與主題無關(guān)的鏈接,保留有用的鏈接并將其放入等待抓取的URL隊列。然后,它將根據(jù)一定的搜索策略從隊列中選擇下一步要抓取的網(wǎng)頁URL,并重復(fù)上述過程,直到達(dá)到系統(tǒng)的某一條件時停止,另外,所有被爬蟲抓取的網(wǎng)頁將會被系統(tǒng)存貯,進(jìn)行一定的分析、過濾,并建立索引,以便之后的查詢和檢索;對于聚焦爬蟲來說,這一過程所得到的分析結(jié)果還可能對以后的抓取過程給出反饋和指導(dǎo)。

相對于通用搜索引擎蜘蛛,聚焦爬蟲還需要解決三個主要問題:

1.對抓取目標(biāo)的描述或定義;

2.對網(wǎng)頁或數(shù)據(jù)的分析與過濾;

3.對URL的搜索策略。

抓取目標(biāo)的描述和定義是決定網(wǎng)頁分析算法與URL搜索策略如何制訂的基礎(chǔ)。而網(wǎng)頁分析算法和候選URL排序算法是決定搜索引擎所提供的服務(wù)形式和爬蟲網(wǎng)頁抓取行為的關(guān)鍵所在。這兩個部分的算法又是緊密相關(guān)的。

2、抓取目標(biāo)描述

現(xiàn)有聚焦爬蟲對抓取目標(biāo)的描述可分為基于目標(biāo)網(wǎng)頁特征、基于目標(biāo)數(shù)據(jù)模式和基于領(lǐng)域概念3種。

基于目標(biāo)網(wǎng)頁特征的爬蟲所抓取、存儲并索引的對象一般為網(wǎng)站或網(wǎng)頁。根據(jù)種子樣本獲取方式可分為:

1.預(yù)先給定的初始抓取種子樣本;

2.預(yù)先給定的網(wǎng)頁分類目錄和與分類目錄對應(yīng)的種子樣本,如Yahoo!分類結(jié)構(gòu)等;

3.通過用戶行為確定的抓取目標(biāo)樣例,分為:用戶瀏覽過程中顯示標(biāo)注的抓取樣本;通過用戶日志挖掘得到訪問模式及相關(guān)樣本。

其中,網(wǎng)頁特征可以是網(wǎng)頁的內(nèi)容特征,也可以是網(wǎng)頁的鏈接結(jié)構(gòu)特征,等等。

基于目標(biāo)數(shù)據(jù)模式的爬蟲針對的是網(wǎng)頁上的數(shù)據(jù),所抓取的數(shù)據(jù)一般要符合一定的模式,或者可以轉(zhuǎn)化或映射為目標(biāo)數(shù)據(jù)模式。

另一種描述方式是建立目標(biāo)領(lǐng)域的本體或詞典,用于從語義角度分析不同特征在某一主題中的重要程度。

3、網(wǎng)頁搜索策略

網(wǎng)頁的抓取策略可以分為深度優(yōu)先、廣度優(yōu)先和最佳優(yōu)先三種。深度優(yōu)先在很多情況下會導(dǎo)致爬蟲的陷入(trapped)問題,目前常見的是廣度優(yōu)先和最佳優(yōu)先方法。

3.1、廣度優(yōu)先搜索策略

廣度優(yōu)先搜索策略是指在抓取過程中,在完成當(dāng)前層次的搜索后,才進(jìn)行下一層次的搜索。該算法的設(shè)計和實現(xiàn)相對簡單。在目前為覆蓋盡可能多的網(wǎng)頁, 一般使用廣度優(yōu)先搜索方法。也有很多研究將廣度優(yōu)先搜索策略應(yīng)用于聚焦爬蟲中。其基本思想是認(rèn)為與初始URL在一定鏈接距離內(nèi)的網(wǎng)頁具有主題相關(guān)性的概率很大。另外一種方法是將廣度優(yōu)先搜索與網(wǎng)頁過濾技術(shù)結(jié)合使用,先用廣度優(yōu)先策略抓取網(wǎng)頁,再將其中無關(guān)的網(wǎng)頁過濾掉。這些方法的缺點在于,隨著抓取網(wǎng)頁的增多,大量的無關(guān)網(wǎng)頁將被下載并過濾,算法的效率將變低。

3.2 最佳優(yōu)先搜索策略

最佳優(yōu)先搜索策略按照一定的網(wǎng)頁分析算法,預(yù)測候選URL與目標(biāo)網(wǎng)頁的相似度,或與主題的相關(guān)性,并選取評價最好的一個或幾個URL進(jìn)行抓取。它只訪問經(jīng)過網(wǎng)頁分析算法預(yù)測為“有用”的網(wǎng)頁。存在的一個問題是,在爬蟲抓取路徑上的很多相關(guān)網(wǎng)頁可能被忽略,因為最佳優(yōu)先策略是一種局部最優(yōu)搜索算法。 因此需要將最佳優(yōu)先結(jié)合具體的應(yīng)用進(jìn)行改進(jìn),以跳出局部最優(yōu)點。將在第4節(jié)中結(jié)合網(wǎng)頁分析算法作具體的討論。研究表明,這樣的閉環(huán)調(diào)整可以將無關(guān)網(wǎng)頁數(shù)量降低30%~90%。

4、網(wǎng)頁分析算法

網(wǎng)頁分析算法可以歸納為基于網(wǎng)絡(luò)拓?fù)、基于網(wǎng)頁內(nèi)容和基于用戶訪問行為三種類型。

4.1、基于網(wǎng)絡(luò)拓?fù)涞姆治鏊惴?/p>

基于網(wǎng)頁之間的鏈接,通過已知的網(wǎng)頁或數(shù)據(jù),來對與其有直接或間接鏈接關(guān)系的對象(可以是網(wǎng)頁或網(wǎng)站等)作出評價的算法。又分為網(wǎng)頁粒度、網(wǎng)站粒度和網(wǎng)頁塊粒度這三種。

4.1.1、網(wǎng)頁粒度的分析算法

PageRank和HITS算法是最常見的鏈接分析算法,兩者都是通過對網(wǎng)頁間鏈接度的遞歸和規(guī)范化計算,得到每個網(wǎng)頁的重要度評價。 PageRank算法雖然考慮了用戶訪問行為的隨機(jī)性和Sink網(wǎng)頁的存在,但忽略了絕大多數(shù)用戶訪問時帶有目的性,即網(wǎng)頁和鏈接與

查詢主題的相關(guān)性。針 對這個問題,HITS算法提出了兩個關(guān)鍵的概念:權(quán)威型網(wǎng)頁(authority)和中心型網(wǎng)頁(hub)。

基于鏈接的抓取的問題是相關(guān)頁面主題團(tuán)之間的隧道現(xiàn)象,即很多在抓取路徑上偏離主題的網(wǎng)頁也指向目標(biāo)網(wǎng)頁,局部評價策略中斷了在當(dāng)前路徑上的抓取行為。部分文獻(xiàn)提出了一種基于反向鏈接(BackLink)的分層式上下文模型(Context Model),用于描述指向目標(biāo)網(wǎng)頁一定物理跳數(shù)半徑內(nèi)的網(wǎng)頁拓?fù)鋱D的中心Layer0為目標(biāo)網(wǎng)頁,將網(wǎng)頁依據(jù)指向目標(biāo)網(wǎng)頁的物理跳數(shù)進(jìn)行層次劃分,從外層網(wǎng)頁指向內(nèi)層網(wǎng)頁的鏈接稱為反向鏈接。

4.1.2、網(wǎng)站粒度的分析算法

網(wǎng)站粒度的資源發(fā)現(xiàn)和管理策略也比網(wǎng)頁粒度的更簡單有效。網(wǎng)站粒度的爬蟲抓取的關(guān)鍵之處在于站點的劃分和站點等級(SiteRank)的計算,SiteRank的計算方法與PageRank類似,但是需要對網(wǎng)站之間的鏈接作一定程度抽象,并在一定的模型下計算鏈接的權(quán)重。

網(wǎng)站劃分情況分為按域名劃分和按IP地址劃分兩種。一些文獻(xiàn)討論了在分布式情況下,通過對同一個域名下不同主機(jī)、服務(wù)器的IP地址進(jìn)行站 點劃分,構(gòu)造站點圖,利用類似PageRank的方法評價SiteRank。同時,根據(jù)不同文件在各個站點上的分布情況,構(gòu)造文檔圖,結(jié)合 SiteRank分布式計算得到DocRank。利用分布式的SiteRank計算,不僅大大降低了單機(jī)站點的算法代價,而且克服了單獨站點對整個網(wǎng)絡(luò)覆蓋率有限的缺點。附帶的一個優(yōu)點是,常見PageRank 造假難以對SiteRank進(jìn)行欺騙。

4.1.3、網(wǎng)頁塊粒度的分析算法

在一個頁面中,往往含有多個指向其他頁面的鏈接,這些鏈接中只有一部分是指向主題相關(guān)網(wǎng)頁的,或根據(jù)網(wǎng)頁的鏈接錨文本表明其具有較高重要性。但是,在PageRank和HITS算法中,沒有對這些鏈接作區(qū)分,因此常常給網(wǎng)頁分析帶來廣告等噪聲鏈接的干擾。在網(wǎng)頁塊級別(Block level) 進(jìn)行鏈接分析的算法的基本思想是通過VIPS網(wǎng)頁分割算法將網(wǎng)頁分為不同的網(wǎng)頁塊(page block),然后對這些網(wǎng)頁塊建立page to block和block to page的鏈接矩陣, 分別記為Z和X。于是,在 page to page圖上的網(wǎng)頁塊級別的PageRank為 W(p)=X×Z; 在block to block圖上的BlockRank為 W(b)=Z×X。 已經(jīng)有人實現(xiàn)了塊級別的PageRank和HITS算法,并通過實驗證明,效率和準(zhǔn)確率都比傳統(tǒng)的對應(yīng)算法要好。

4.2、基于網(wǎng)頁內(nèi)容的網(wǎng)頁分析算法

基于網(wǎng)頁內(nèi)容的分析算法指的是利用網(wǎng)頁內(nèi)容(文本、數(shù)據(jù)等資源)特征進(jìn)行的網(wǎng)頁評價。網(wǎng)頁的內(nèi)容從原來的以超文本為主,發(fā)展到后來動態(tài)頁面(或稱 為Hidden Web)數(shù)據(jù)為主,后者的數(shù)據(jù)量約為直接可見頁面數(shù)據(jù)(PIW,Publicly Indexable Web)的400~500倍。另一方面,多媒體數(shù)據(jù)、Web Service等各種網(wǎng)絡(luò)資源形式也日益豐富。因此,基于網(wǎng)頁內(nèi)容的分析算法也從原來的較為單純的文本檢索方法,發(fā)展為涵蓋網(wǎng)頁數(shù)據(jù)抽取、機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘、語義理解等多種方法的綜合應(yīng)用。本節(jié)根據(jù)網(wǎng)頁數(shù)據(jù)形式的不同,將基于網(wǎng)頁內(nèi)容的分析算法,歸納以下三類:

1.針對以文本和超鏈接為主的無結(jié)構(gòu)或結(jié)構(gòu)很簡單的網(wǎng)頁;

2.針對從結(jié)構(gòu)化的數(shù)據(jù)源(如RDBMS)動態(tài)生成的頁面,其數(shù)據(jù)不能直接批量訪問;

3.針對的數(shù)據(jù)界于第一和第二類數(shù)據(jù)之間,具有較好的結(jié)構(gòu),顯示遵循一定模式或風(fēng)格,且可以直接訪問。

分布式搜索引擎蜘蛛體系結(jié)構(gòu)設(shè)計體系結(jié)構(gòu)研究所屬范圍

分布式搜索引擎蜘蛛包含多個爬蟲,每個爬蟲需要完成的任務(wù)和單個的爬行器類似,它們從互聯(lián)網(wǎng)上下載網(wǎng)頁,并把網(wǎng)頁保存在本地的磁盤,從中抽取URL并沿著這些URL的指向繼續(xù)爬行。由于并行爬行器需要分割下載任務(wù),可能爬蟲會將自己抽取的URL發(fā)送給其他爬蟲。這些爬蟲可能分布在同一個局域網(wǎng)之中,或者分散在不同的地理位置。

根據(jù)爬蟲的分散程度不同,可以把分布式爬行器分成以下兩大類:

1、基于局域網(wǎng)分布式搜索引擎蜘蛛:這種分布式爬行器的所有爬蟲在同一個局域網(wǎng)里運行,通過高速的網(wǎng)絡(luò)連接相互通信。這些爬蟲通過同一個網(wǎng)絡(luò)去訪問外部互聯(lián)網(wǎng),下載網(wǎng)頁,所有的網(wǎng)絡(luò)負(fù)載都集中在他們所在的那個局域網(wǎng)的出口上。由于局域網(wǎng)的帶寬較高,爬蟲之間的通信的效率能夠得到保證;但是網(wǎng)絡(luò)出口的總帶寬上限是固定的,爬蟲的數(shù)量會受到局域網(wǎng)出口帶寬的限制。

2、基于廣域網(wǎng)分布式搜索引擎蜘蛛:當(dāng)并行爬行器的爬蟲分別運行在不同地理位置(或網(wǎng)絡(luò)位置),我們稱這種并行爬行器為分布式爬行器。例如,分布式爬行器的爬蟲可能位于中國,日本,和美國,分別負(fù)責(zé)下載這三地的網(wǎng)頁;或者位于CHINANET,CERNET,CEINET,分別負(fù)責(zé)下載這三個網(wǎng)絡(luò)的中的網(wǎng)頁。分布式爬行器的優(yōu)勢在于可以子在一定程度上分散網(wǎng)絡(luò)流量,減小網(wǎng)絡(luò)出口的負(fù)載。如果爬蟲分布在不同的地理位置(或網(wǎng)絡(luò)位置),需要間隔多長時間進(jìn)行一次相互通信就成為了一個值得考慮的問題。爬蟲之間的通訊帶寬可能是有限的,通常需要通過互聯(lián)網(wǎng)進(jìn)行通信。

在實際應(yīng)用中,基于局域網(wǎng)分布式搜索引擎蜘蛛應(yīng)用的更廣一些,而基于廣域網(wǎng)的爬蟲由于實現(xiàn)復(fù)雜,設(shè)計和實現(xiàn)成本過高,一般只有實力雄厚和采集任務(wù)較重的大公司才會使用這種爬蟲。本論文所設(shè)計的爬蟲就是基于局域網(wǎng)分布式搜索引擎蜘蛛。

分布式搜索引擎蜘蛛整體分析

分布式搜索引擎蜘蛛的整體設(shè)計重點應(yīng)該在于爬蟲如何進(jìn)行通信。目前分布式搜索引擎蜘蛛按通信方式不同分布式網(wǎng)路爬蟲可以分為主從模式、自治模式與混合模式三種。

主從模式是指由一臺主機(jī)作為控制節(jié)點負(fù)責(zé)所有運行搜索引擎蜘蛛的主機(jī)進(jìn)行管理,爬蟲只需要從控制節(jié)點那里接收任務(wù),并把新生成任務(wù)提交給控制節(jié)點就可以了,在這個過程中不必與其他爬蟲通信,這種方式實現(xiàn)簡單利于管理。而控制節(jié)點則需要與所有爬蟲進(jìn)行通信,它需要一個地址列表來保存系統(tǒng)中所有爬蟲的信息。當(dāng)系統(tǒng)中的爬蟲數(shù)量發(fā)生變化時,協(xié)調(diào)者需要更新地址列表里的數(shù)據(jù),這一過程對于系統(tǒng)中的爬蟲是透明的。但是隨著爬蟲網(wǎng)頁數(shù)量的增加?刂乒(jié)點會成為整個系統(tǒng)的瓶頸而導(dǎo)致整個分布式搜索引擎蜘蛛系統(tǒng)性能下降。主從模式的整體結(jié)構(gòu)圖:

主從模式的整體結(jié)構(gòu)圖

自治模式是指系統(tǒng)中沒有協(xié)調(diào)者,所有的爬蟲都必須相互通信,比主從模式下爬蟲要復(fù)雜一些。自治模式的通信方式可以使用全連接通信或環(huán)形通信。全連接通信是指所用爬蟲都可以相互發(fā)送信息,使用這種方式的每個搜索引擎蜘蛛會維護(hù)一個地址列表,表中存儲著整個系統(tǒng)中所有爬蟲的位置,每次通信時可以直接把數(shù)據(jù)發(fā)送給需要此數(shù)據(jù)的爬蟲。當(dāng)系統(tǒng)中的爬蟲數(shù)量發(fā)生變化時,每個爬蟲的地址列表都需要進(jìn)行更新。環(huán)形通信是指爬蟲在邏輯上構(gòu)成一個環(huán)形網(wǎng),數(shù)據(jù)在環(huán)上按順時針或逆時針單向傳輸,每個爬蟲的地址列表中只保存其前驅(qū)和后繼的信息。爬蟲接收到數(shù)據(jù)之后判斷數(shù)據(jù)是否是發(fā)送給自己的,如果數(shù)據(jù)不是發(fā)送給自己的,就把數(shù)據(jù)轉(zhuǎn)發(fā)給后繼;如果數(shù)據(jù)是發(fā)送給自己的,就不再發(fā)送。假設(shè)整個系統(tǒng)中有n個爬蟲,當(dāng)系統(tǒng)中的爬蟲數(shù)量發(fā)生變化時,系統(tǒng)中只有n-1個爬蟲的地址列表需要進(jìn)行更新。

自治模式的結(jié)構(gòu)圖

混合模式是結(jié)合上面兩種模式的特點的一種折中模式。該模式所有的爬蟲都可以相互通信同時都具有任務(wù)分配功能。不過所有爬蟲中有個特殊的爬蟲,該爬蟲主要功能對已經(jīng)經(jīng)過爬蟲任務(wù)分配后無法分配的任務(wù)進(jìn)行集中分配。使用這個方式的每個搜索引擎蜘蛛只需維護(hù)自己采集范圍的地址列表。而特殊爬蟲需除了保存自己采集范圍的地址列表外還保存需要進(jìn)行集中分配的地址列表;旌夏J降恼w結(jié)構(gòu)圖:

混合模式的整體結(jié)構(gòu)圖

大型分布式搜索引擎蜘蛛體系結(jié)構(gòu)圖

大型分布式搜索引擎蜘蛛體系結(jié)構(gòu)圖

從這些圖可以看出,分布式搜索引擎蜘蛛是一項十分復(fù)雜系統(tǒng)。需要考慮很多方面因素。性能可以說是它這重要的指標(biāo)。當(dāng)然硬件層面的資源也是必須的。不過不在本系列考慮范圍。

【引擎蜘蛛工作原理】相關(guān)文章:

看準(zhǔn)搜索引擎 找到創(chuàng)業(yè)引擎04-30

搜索引擎03-13

追問-文章展開的引擎04-29

浮球閥工作原理04-29

晶閘管工作原理.05-01

離合器工作原理05-01

熱敏電阻工作原理04-30

蜘蛛11-22

蜘蛛04-27

蜘蛛05-01