亚洲无人区一区二区三区_农村玉米地少妇野战亚洲_国产欧美日韩VA另类在线播放_免费人成视频网站在线_国产在线精品一区二区高清不卡

搜索引擎工作原理

作者:zjadmin 瀏覽:2805 發(fā)布時(shí)間:2014-09-11
編輯 分享 評(píng)論 0

搜索引擎的工作過(guò)程大體上可以分成三個(gè)階段。

(1)爬行和抓取:搜索引擎蜘蛛通過(guò)跟蹤鏈接訪問(wèn)網(wǎng)頁(yè),獲得頁(yè)面HTML代碼存入數(shù)據(jù)庫(kù)。

(2)預(yù)處理:索引程序?qū)ψト?lái)的頁(yè)面數(shù)據(jù)進(jìn)行文字提取、中文分詞、索引等處理,以備排名程序調(diào)用。

(3)排名:用戶輸入關(guān)鍵詞后,排名程序調(diào)用索引庫(kù)數(shù)據(jù),計(jì)算相關(guān)性,然后按一定格式生成搜索結(jié)果頁(yè)面。

爬行和抓取

爬行和抓取是搜索引擎工作的第一步,完成數(shù)據(jù)收集的任務(wù)。

1.蜘蛛

搜索引擎用來(lái)爬行和訪問(wèn)頁(yè)面的程序被稱為蜘蛛(spider),也稱為機(jī)器人(bot)。

搜索引擎蜘蛛訪問(wèn)網(wǎng)站頁(yè)面時(shí)類似于普通用戶使用的瀏覽器。蜘蛛程序發(fā)出頁(yè)面訪問(wèn)請(qǐng)求后,服務(wù)器返回HTML代碼,蜘蛛程序把收到的代碼存入原始頁(yè)面數(shù)據(jù)庫(kù)。搜索引擎為了提高爬行和抓取速度,都使用多個(gè)蜘蛛并發(fā)分布爬行。

蜘蛛訪問(wèn)任何一個(gè)網(wǎng)站時(shí),都會(huì)先訪問(wèn)網(wǎng)站根目錄下的robots.txt文件。如果robots.txt文件禁止搜索引擎抓取某些文件或目錄,蜘蛛將遵守協(xié)議,不抓取被禁止的網(wǎng)址。

和瀏覽器一樣,搜索引擎蜘蛛也有標(biāo)明自己身份的代理名稱,站長(zhǎng)可以在日志文件中看到搜索引擎的特定代理名稱,從而辨識(shí)搜索引擎蜘蛛。下面列出常見(jiàn)的搜索引擎蜘蛛名稱:

· Baiduspider+(+http://www.baidu.com/search/spider.htm) 百度蜘蛛

· Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html) 雅虎中國(guó)蜘蛛

· Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp) 英文雅虎蜘蛛

· Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) Google蜘蛛

· msnbot/1.1 (+http://search.msn.com/msnbot.htm) 微軟 Bing蜘蛛

· Sogou+web+robot+(+http://www.sogou.com/docs/help/webmasters.htm#07)搜狗蜘蛛

· Sosospider+(+http://help.soso.com/webspider.htm) 搜搜蜘蛛

· Mozilla/5.0 (compatible; YodaoBot/1.0; http://www.yodao.com/help/webmaster/spider/; ) 有道蜘蛛

2.跟蹤鏈接

為了抓取網(wǎng)上盡量多的頁(yè)面,搜索引擎蜘蛛會(huì)跟蹤頁(yè)面上的鏈接,從一個(gè)頁(yè)面爬到下一個(gè)頁(yè)面,就好像蜘蛛在蜘蛛網(wǎng)上爬行那樣,這也就是搜索引擎蜘蛛這個(gè)名稱的由來(lái)。

整個(gè)互聯(lián)網(wǎng)是由相互鏈接的網(wǎng)站及頁(yè)面組成的。從理論上說(shuō),蜘蛛從任何一個(gè)頁(yè)面出發(fā),順著鏈接都可以爬行到網(wǎng)上的所有頁(yè)面。當(dāng)然,由于網(wǎng)站及頁(yè)面鏈接結(jié)構(gòu)異常復(fù)雜,蜘蛛需要采取一定的爬行策略才能遍歷網(wǎng)上所有頁(yè)面。

最簡(jiǎn)單的爬行遍歷策略分為兩種,一種是深度優(yōu)先,另一種是廣度優(yōu)先。

所謂深度優(yōu)先,指的是蜘蛛沿著發(fā)現(xiàn)的鏈接一直向前爬行,直到前面再也沒(méi)有其他鏈接,然后返回到第一個(gè)頁(yè)面,沿著另一個(gè)鏈接再一直往前爬行。

如圖2-20所示,蜘蛛跟蹤鏈接,從A頁(yè)面爬行到A1,A2,A3,A4,到A4頁(yè)面后,已經(jīng)沒(méi)有其他鏈接可以跟蹤就返回A頁(yè)面,順著頁(yè)面上的另一個(gè)鏈接,爬行到B1,B2,B3,B4。在深度優(yōu)先策略中,蜘蛛一直爬到無(wú)法再向前,才返回爬另一條線。

廣度優(yōu)先是指蜘蛛在一個(gè)頁(yè)面上發(fā)現(xiàn)多個(gè)鏈接時(shí),不是順著一個(gè)鏈接一直向前,而是把頁(yè)面上所有第一層鏈接都爬一遍,然后再沿著第二層頁(yè)面上發(fā)現(xiàn)的鏈接爬向第三層頁(yè)面。

如圖2-21所示,蜘蛛從A頁(yè)面順著鏈接爬行到A1,B1,C1頁(yè)面,直到A頁(yè)面上的所有鏈接都爬行完,然后再?gòu)腁1頁(yè)面發(fā)現(xiàn)的下一層鏈接,爬行到A2,A3,A4,……頁(yè)面。

圖2-20 深度優(yōu)先遍歷策略

圖2-21 廣度優(yōu)先遍歷策略

從理論上說(shuō),無(wú)論是深度優(yōu)先還是廣度優(yōu)先,只要給蜘蛛足夠的時(shí)間,都能爬完整個(gè)互聯(lián)網(wǎng)。在實(shí)際工作中,蜘蛛的帶寬資源、時(shí)間都不是無(wú)限的,也不可能爬完所有頁(yè)面。實(shí)際上最大的搜索引擎也只是爬行和收錄了互聯(lián)網(wǎng)的一小部分。

深度優(yōu)先和廣度優(yōu)先通常是混合使用的,這樣既可以照顧到盡量多的網(wǎng)站(廣度優(yōu)先),也能照顧到一部分網(wǎng)站的內(nèi)頁(yè)(深度優(yōu)先)。

3.吸引蜘蛛

由此可見(jiàn),雖然理論上蜘蛛能爬行和抓取所有頁(yè)面,但實(shí)際上不能、也不會(huì)這么做。SEO人員要想讓自己的更多頁(yè)面被收錄,就要想方設(shè)法吸引蜘蛛來(lái)抓取。既然不能抓取所有頁(yè)面,蜘蛛所要做的就是盡量抓取重要頁(yè)面。哪些頁(yè)面被認(rèn)為比較重要呢?有幾方面影響因素。

1、網(wǎng)站和頁(yè)面權(quán)重。質(zhì)量高、資格老的網(wǎng)站被認(rèn)為權(quán)重比較高,這種網(wǎng)站上的頁(yè)面被爬行的深度也會(huì)比較高,所以會(huì)有更多內(nèi)頁(yè)被收錄。

2、頁(yè)面更新度。蜘蛛每次爬行都會(huì)把頁(yè)面數(shù)據(jù)存儲(chǔ)起來(lái)。如果第二次爬行發(fā)現(xiàn)頁(yè)面與第一次收錄的完全一樣,說(shuō)明頁(yè)面沒(méi)有更新,蜘蛛也就沒(méi)有必要經(jīng)常抓取。如果頁(yè)面內(nèi)容經(jīng)常更新,蜘蛛就會(huì)更加頻繁地訪問(wèn)這種頁(yè)面,頁(yè)面上出現(xiàn)的新鏈接,也自然會(huì)被蜘蛛更快地跟蹤,抓取新頁(yè)面。

3、導(dǎo)入鏈接。無(wú)論是外部鏈接還是同一個(gè)網(wǎng)站的內(nèi)部鏈接,要被蜘蛛抓取,就必須有導(dǎo)入鏈接進(jìn)入頁(yè)面,否則蜘蛛根本沒(méi)有機(jī)會(huì)知道頁(yè)面的存在。高質(zhì)量的導(dǎo)入鏈接也經(jīng)常使頁(yè)面上的導(dǎo)出鏈接被爬行深度增加。

4、與首頁(yè)點(diǎn)擊距離。一般來(lái)說(shuō)網(wǎng)站上權(quán)重最高的是首頁(yè),大部分外部鏈接是指向首頁(yè)的,蜘蛛訪問(wèn)最頻繁的也是首頁(yè)。離首頁(yè)點(diǎn)擊距離越近,頁(yè)面權(quán)重越高,被蜘蛛爬行的機(jī)會(huì)也越大。

4.地址庫(kù)

為了避免重復(fù)爬行和抓取網(wǎng)址,搜索引擎會(huì)建立一個(gè)地址庫(kù),記錄已經(jīng)被發(fā)現(xiàn)還沒(méi)有抓取的頁(yè)面,以及已經(jīng)被抓取的頁(yè)面。

地址庫(kù)中的URL有幾個(gè)來(lái)源:

(1)人工錄入的種子網(wǎng)站。

(2)蜘蛛抓取頁(yè)面后,從HTML中解析出新的鏈接URL,與地址庫(kù)中的數(shù)據(jù)進(jìn)行對(duì)比,如果是地址庫(kù)中沒(méi)有的網(wǎng)址,就存入待訪問(wèn)地址庫(kù)。

(3)站長(zhǎng)通過(guò)搜索引擎網(wǎng)頁(yè)提交表格提交進(jìn)來(lái)的網(wǎng)址。

蜘蛛按重要性從待訪問(wèn)地址庫(kù)中提取URL,訪問(wèn)并抓取頁(yè)面,然后把這個(gè)URL從待訪問(wèn)地址庫(kù)中刪除,放進(jìn)已訪問(wèn)地址庫(kù)中。

大部分主流搜索引擎都提供一個(gè)表格,讓站長(zhǎng)提交網(wǎng)址。不過(guò)這些提交來(lái)的網(wǎng)址都只是存入地址庫(kù)而已,是否收錄還要看頁(yè)面重要性如何。搜索引擎所收錄的絕大部分頁(yè)面是蜘蛛自己跟蹤鏈接得到的??梢哉f(shuō)提交頁(yè)面基本上是毫無(wú)用處的,搜索引擎更喜歡自己沿著鏈接發(fā)現(xiàn)新頁(yè)面。

5.文件存儲(chǔ)

搜索引擎蜘蛛抓取的數(shù)據(jù)存入原始頁(yè)面數(shù)據(jù)庫(kù)。其中的頁(yè)面數(shù)據(jù)與用戶瀏覽器得到的HTML是完全一樣的。每個(gè)URL都有一個(gè)獨(dú)特的文件編號(hào)。

6.爬行時(shí)的復(fù)制內(nèi)容檢測(cè)

檢測(cè)并刪除復(fù)制內(nèi)容通常是在下面介紹的預(yù)處理過(guò)程中進(jìn)行的,但現(xiàn)在的蜘蛛在爬行和抓取文件時(shí)也會(huì)進(jìn)行一定程度的復(fù)制內(nèi)容檢測(cè)。遇到權(quán)重很低的網(wǎng)站上大量轉(zhuǎn)載或抄襲內(nèi)容時(shí),很可能不再繼續(xù)爬行。


詞條統(tǒng)計(jì)

  • 瀏覽次數(shù):2805
  • 編輯次數(shù):0次歷史版本
  • 最近更新:2014-09-11
  • 創(chuàng)建者:zjadmin
  • 相關(guān)詞條

    相關(guān)問(wèn)答

    相關(guān)百科

    相關(guān)資訊