
(SEO實(shí)戰(zhàn)密碼 電子工業(yè)出版社 2011年1月出版)
作者信息:
昝輝,網(wǎng)名Zac,1992年畢業(yè)于北京航空航天大學(xué)電子工程系,1995年北京電影學(xué)院碩士研究生畢業(yè)。1997來到新加坡在后期制作公司擔(dān)任編輯和項(xiàng)目經(jīng)理等職務(wù)。Zac于2006年開始寫中文博客《SEO每天一貼》。幾個(gè)月內(nèi)《SEO每天一貼》成為中國SEO領(lǐng)域被引用最多,最受歡迎的行業(yè)博客之一,很多文章在網(wǎng)上廣為流傳。
注明:本文由電子工業(yè)出版社授權(quán)站長之家連載,未經(jīng)授權(quán)請(qǐng)勿轉(zhuǎn)載。文章內(nèi)容;選自《SEO實(shí)戰(zhàn)密碼》第二章節(jié)。
搜索引擎工作過程非常復(fù)雜,接下來的幾節(jié)我們簡單介紹搜索引擎是怎樣實(shí)現(xiàn)網(wǎng)頁排名的。這里介紹的內(nèi)容相對(duì)于真正的搜索引擎技術(shù)來說只是皮毛,不過對(duì)SEO人員已經(jīng)足夠用了。
搜索引擎的工作過程大體上可以分成三個(gè)階段。
(1)爬行和抓取:搜索引擎蜘蛛通過跟蹤鏈接訪問網(wǎng)頁,獲得頁面HTML代碼存入數(shù)據(jù)庫。
(2)預(yù)處理:索引程序?qū)ψト淼捻撁鏀?shù)據(jù)進(jìn)行文字提取、中文分詞、索引等處理,以備排名程序調(diào)用。
(3)排名:用戶輸入關(guān)鍵詞后,排名程序調(diào)用索引庫數(shù)據(jù),嗡閬喙匭裕然后按一定格式生成搜索結(jié)果頁面。
爬行和抓取
爬行和抓取是搜索引擎工作的第一步,完成數(shù)據(jù)收集的任務(wù)。
1.蜘蛛
搜索引擎用來爬行和訪問頁面的程序被稱為蜘蛛(spider),也稱為機(jī)器人(bot)。
搜索引擎蜘蛛訪問網(wǎng)站頁面時(shí)類似于普通用戶使用的瀏覽器。蜘蛛程序發(fā)出頁面訪問請(qǐng)求后,服務(wù)器返回HTML代碼,蜘蛛程序把收到的代碼存入原始頁面數(shù)據(jù)庫。搜索引擎為了提高爬行和抓取速度,都使用多個(gè)蜘蛛并發(fā)分布爬行。
蜘蛛訪問任何一個(gè)網(wǎng)站時(shí),都會(huì)先訪問網(wǎng)站根目錄下的robots.txt文件。如果robots.txt文件禁止搜索引擎抓取某些文件或目錄,蜘蛛將遵守協(xié)議,不抓取被禁止的網(wǎng)址。
和瀏覽器一樣,搜索引擎蜘蛛也有標(biāo)明自己身份的代理名稱,站長可以在日志文件中看到搜索引擎的特定代理名稱,從而辨識(shí)搜索引擎蜘蛛。下面列出常見的搜索引擎蜘蛛名稱:
· Baiduspider+(+http://www.baidu.com/search/spider.htm) 百度蜘蛛
· Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html) 雅虎中國蜘蛛
· 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)上盡量多的頁面,搜索引擎蜘蛛會(huì)跟蹤頁面上的鏈接,從一個(gè)頁面爬到下一個(gè)頁面,就好像蜘蛛在蜘蛛網(wǎng)上爬行那樣,這也就是搜索引擎蜘蛛這個(gè)名稱的由來。
整個(gè)互聯(lián)網(wǎng)是由相互鏈接的網(wǎng)站及頁面組成的。從理論上說,蜘蛛從任何一個(gè)頁面出發(fā),順著鏈接都可以爬行到網(wǎng)上的所有頁面。當(dāng)然,由于網(wǎng)站及頁面鏈接結(jié)構(gòu)異常復(fù)雜,蜘蛛需要采取一定的爬行策略才能遍歷網(wǎng)上所有頁面。
最簡單的爬行遍歷策略分為兩種,一種是深度>先,另一種是廣度優(yōu)先。
所謂深度優(yōu)先,指的是蜘蛛沿著發(fā)現(xiàn)的鏈接一直向前爬行,直到前面再也沒有其他鏈接,然后返回到第一個(gè)頁面,沿著另一個(gè)鏈接再一直往前爬行。
如圖2-20所示,蜘蛛跟蹤鏈接,從A頁面爬行到A1,A2,A3,A4,到A4頁面后,已經(jīng)沒有其他鏈接可以跟蹤就返回A頁面,順著頁面上的另一個(gè)鏈接,爬行到B1,B2,B3,B4。在深度優(yōu)先策略中,蜘蛛一直爬到無法再向前,才返回爬另一條線。
廣度優(yōu)先是指蜘蛛在一個(gè)頁面上發(fā)現(xiàn)多個(gè)鏈接時(shí),不是順著一個(gè)鏈接一直向前,而是把頁面上所有第一層鏈接都爬一遍,然后再沿著第硬鬩趁嬪戲⑾值牧唇優(yōu)老虻諶層頁面。
如圖2-21所示,蜘蛛從A頁面順著鏈接爬行到A1,B1,C1頁面,直到A頁面上的所有鏈接都爬行完,然后再從A1頁面發(fā)現(xiàn)的下一層鏈接,爬行到A2,A3,A4,……頁面。
圖2-20 深度優(yōu)先遍歷策略
圖2-21 廣度優(yōu)先遍歷策略
從理論上說,無論是深度優(yōu)先還是廣度優(yōu)先,只要給蜘蛛足夠的時(shí)間,都能爬完整個(gè)互聯(lián)網(wǎng)。在實(shí)際工作中,蜘蛛的帶寬資源、時(shí)間都不是無限的,也不可能爬完所有頁面。實(shí)際上最大的搜索引擎也只是爬行和收錄了互聯(lián)網(wǎng)的一小部分。
深度優(yōu)先和廣度優(yōu)先通常是混合使用的,這樣既可以照顧到盡量多的網(wǎng)站(廣度優(yōu)先),也能照顧到一部分網(wǎng)站的內(nèi)頁(深度優(yōu)先)。
3.吸引蜘蛛
由此可見,雖然理論上蜘蛛能爬行和抓取所有頁面,但實(shí)際上不能、也不會(huì)這么做。SEO人員要想讓自己的更多頁面被收錄,就要想方設(shè)法吸引蜘蛛來抓取。既然不能抓取所有頁面,蜘蛛所要做的就是盡量抓取重要頁面。哪些頁面被認(rèn)為比較重要呢?有幾方面影響因素。
1、網(wǎng)站和頁面權(quán)重。質(zhì)量高、資格老的網(wǎng)站被認(rèn)為權(quán)重比較高,這種網(wǎng)站上的頁面被爬行的深度也會(huì)比較高,所以會(huì)有更多內(nèi)頁被收錄。
2、頁面更新度。蜘蛛每次爬行都會(huì)把頁面數(shù)據(jù)存儲(chǔ)起來。如果第二次爬行發(fā)現(xiàn)頁面與第一次收錄的完全匱,說明頁面沒有更新,蜘蛛也就沒有必要經(jīng)常抓取。如果頁面內(nèi)容經(jīng)常更新,蜘蛛就會(huì)更加頻繁地訪問這種頁面,頁面上出現(xiàn)的新鏈接,也自然會(huì)被蜘蛛更快地跟蹤,抓取新頁面。
3、導(dǎo)入鏈接。無論是外部鏈接還是同一個(gè)網(wǎng)站的內(nèi)部鏈接,要被蜘蛛抓取,就必須有導(dǎo)入鏈接進(jìn)匾趁媯否則蜘蛛根本沒有機(jī)會(huì)知道頁面的存在。高質(zhì)量的導(dǎo)入鏈接也經(jīng)常使頁面上的導(dǎo)出鏈接被爬行深度增加。
4、與首頁點(diǎn)擊距離。一般來說網(wǎng)站上權(quán)重最高的是首頁,大部分外部鏈接是指向首頁的,蜘蛛訪問最頻繁的也是首頁。離首頁點(diǎn)擊距離越近,頁面權(quán)重越高,被蜘蛛爬氐幕會(huì)也越大。
4.地址庫
為了避免重復(fù)爬行和抓取網(wǎng)址,搜索引擎會(huì)建立一個(gè)地址庫,記錄已經(jīng)被發(fā)現(xiàn)還沒有抓取的頁面,以及已經(jīng)被抓取的頁面。
地址庫中的URL有幾個(gè)來源:
(1)人工錄入的種子網(wǎng)站。
(2)蜘蛛抓匾趁婧螅從HTML中解析出新的鏈接URL,與地址庫中的數(shù)據(jù)進(jìn)行對(duì)比,如果是地址庫中沒有的網(wǎng)址,就存入待訪問地址庫。
(3)站長通過搜索引擎網(wǎng)頁提交表格提交進(jìn)來的網(wǎng)址。
蜘蛛按重要性從待訪問地址庫中提取URL,訪問并抓取頁面,然后把這個(gè)URL從待訪問地址庫厴境,放進(jìn)已訪問地址庫中。
大部分主流搜索引擎都提供一個(gè)表格,讓站長提交網(wǎng)址。不過這些提交來的網(wǎng)址都只是存入地址庫而已,是否收錄還要看頁面重要性如何。搜索引擎所收錄的絕大部分頁面是蜘蛛自己跟蹤鏈接得到的??梢哉f提交頁面基本上是毫無用處的,搜索引擎更喜歡自己沿著鏈接發(fā)現(xiàn)新頁面。
5.文件存儲(chǔ)
搜索引擎蜘蛛抓取的數(shù)據(jù)存入原始頁面數(shù)據(jù)庫。其中的頁面數(shù)據(jù)與用戶瀏覽器得到的HTML是完全一樣的。每個(gè)URL都有一個(gè)獨(dú)特的文件編號(hào)。
6.爬行時(shí)的復(fù)制內(nèi)容檢測
檢測并刪除復(fù)制內(nèi)容通常是在下面介紹的預(yù)處理過程中進(jìn)行的,但現(xiàn)在的蜘蛛在爬行和抓取文件時(shí)也會(huì)進(jìn)行一定程度的復(fù)制內(nèi)容檢測。遇到權(quán)重很低的網(wǎng)站上大量轉(zhuǎn)載或抄襲內(nèi)容時(shí),很可能不再繼續(xù)爬行。這也就是有的站長在日志文件中發(fā)現(xiàn)了蜘蛛,但頁面從來沒有被真正收錄過的原因。
|
網(wǎng)鈦淘寶店 版權(quán)保護(hù)登記號(hào):2013SR057730
閩公網(wǎng)安備35010402351296號(hào) 閩ICP備17002817號(hào)-2