域名注冊(cè) 網(wǎng)站制作
您現(xiàn)在的位置:首頁 >> SEO優(yōu)化 >> 內(nèi)容

搜索引擎工作過程與seo

時(shí)間:2016/4/13 22:01:10 點(diǎn)擊:214

摘要:搜索引擎的工作的過程非常復(fù)雜,而簡單的講搜索引擎的工作過程大體可以分成三個(gè)階段。爬行和抓。核阉饕嬷┲胪ㄟ^跟蹤鏈接訪問頁面,獲取頁面HTML代碼存入數(shù)據(jù)庫。預(yù)處理:搜索贏球?qū)ψト淼捻撁鏀?shù)據(jù)...

搜索引擎的工作的過程非常復(fù)雜,而簡單的講搜索引擎的工作過程大體可以分成三個(gè)階段。

  爬行和抓取:搜索引擎蜘蛛通過跟蹤鏈接訪問頁面,獲取頁面HTML代碼存入數(shù)據(jù)庫。
  預(yù)處理:搜索贏球?qū)ψト淼捻撁鏀?shù)據(jù)文字進(jìn)行文字提取、中文分詞、索引等處理,以備排名程序調(diào)用。
  排名:用戶輸入關(guān)鍵字后,排名調(diào)用索引庫數(shù)據(jù),計(jì)算相關(guān)性,然后按一定格式生成搜索結(jié)果頁面。

爬行和抓取

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

蜘蛛

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

蜘蛛代理名稱:

百度蜘蛛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)

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

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

搜狗蜘蛛: 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/; )

跟蹤鏈接

為了抓取網(wǎng)上盡量多的頁面,搜索引擎蜘蛛會(huì)跟蹤頁面上的鏈接,從一個(gè)頁面爬到下一個(gè)頁面,就好像蜘蛛在蜘蛛網(wǎng)上爬行那樣,這也就是搜索引擎蜘蛛這個(gè)名稱的由來。最簡單的爬行遍歷策略分為兩種,一是深度優(yōu)先,二是廣度優(yōu)先。

深度優(yōu)先搜索

深度優(yōu)先搜索就是在搜索樹的每一層始終先只擴(kuò)展一個(gè)子節(jié)點(diǎn),不斷地向縱深前進(jìn)直到不能再前進(jìn)(到達(dá)葉子節(jié)點(diǎn)或受到深度限制)時(shí),才從當(dāng)前節(jié)點(diǎn)返回到上一級(jí)節(jié)點(diǎn),沿另一方向又繼續(xù)前進(jìn)。這種方法的搜索樹是從樹根開始一枝一枝逐漸形成的。

深度優(yōu)先搜索亦稱為縱向搜索。由于一個(gè)有解的問題樹可能含有無窮分枝,深度優(yōu)先搜索如果誤入無窮分枝(即深度無限),則不可能找到目標(biāo)節(jié)點(diǎn)。所以,深度優(yōu)先搜索策略是不完備的。另外,應(yīng)用此策略得到的解不一定是最佳解(最短路徑)。

廣度優(yōu)先搜索

在深度優(yōu)先搜索算法中,是深度越大的結(jié)點(diǎn)越先得到擴(kuò)展。如果在搜索中把算法改為按結(jié)點(diǎn)的層次進(jìn)行搜索, 本層的結(jié)點(diǎn)沒有搜索處理完時(shí),不能對(duì)下層結(jié)點(diǎn)進(jìn)行處理,即深度越小的結(jié)點(diǎn)越先得到擴(kuò)展,也就是說先產(chǎn)生 的結(jié)點(diǎn)先得以擴(kuò)展處理,這種搜索算法稱為廣度優(yōu)先搜索法。

在深度優(yōu)先搜索算法中,是深度越大的結(jié)點(diǎn)越先得到擴(kuò)展。如果在搜索中把算法改為按結(jié)點(diǎn)的層次進(jìn)行搜索, 本層的結(jié)點(diǎn)沒有搜索處理完時(shí),不能對(duì)下層結(jié)點(diǎn)進(jìn)行處理,即深度越小的結(jié)點(diǎn)越先得到擴(kuò)展,也就是說先產(chǎn)生 的結(jié)點(diǎn)先得以擴(kuò)展處理,這種搜索算法稱為廣度優(yōu)先搜索法。

吸引蜘蛛

哪些頁面被認(rèn)為比較重要呢?有幾方面影響因素:

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

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

· 導(dǎo)入鏈接。無論是外部鏈接還是同一個(gè)網(wǎng)站的內(nèi)部鏈接,要被蜘蛛抓取就必須有導(dǎo)入鏈接進(jìn)入頁面,否則蜘蛛根本沒有機(jī)會(huì)知道頁面的存在。高質(zhì)量的導(dǎo)入鏈接也經(jīng)常使頁面上的導(dǎo)出鏈接被爬行深度增加。一般來說網(wǎng)站上權(quán)重最高的是首頁,大部分外部鏈接是指向首頁,蜘蛛訪問最頻繁的也是首頁。離首頁點(diǎn)擊距離越近,頁面權(quán)重越高,被蜘蛛爬行的機(jī)會(huì)也越大。

地址庫

為了避免重復(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提交頁面基本t是毫無用處的,搜索引擎更喜歡自己沿著鏈接發(fā)現(xiàn)新頁面。

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

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

檢測(cè)并刪除復(fù)制內(nèi)容通常是在下面介紹的預(yù)處理過程中進(jìn)行的,但現(xiàn)在的蜘蛛在爬行和抓取文件時(shí)也會(huì)進(jìn)行定程度的復(fù)制內(nèi)容檢測(cè)。遇到權(quán)重很低的網(wǎng)站上大量轉(zhuǎn)載或抄襲內(nèi)容時(shí),很可能不再繼續(xù)爬行。這也就是有的站長在日志文件中發(fā)現(xiàn)了蜘蛛,但頁面從來沒有被真正收錄過的原因。

預(yù)處理

在一些SEO材料中,“預(yù)處理”也被簡稱為“索引”,因?yàn)樗饕穷A(yù)處理最主要的步驟。

搜索引擎蜘蛛抓取的原始頁面,并不能直接用于查詢排名處理。搜索引擎數(shù)據(jù)庫中的頁面數(shù)都在數(shù)萬億級(jí)別以上,用戶輸入搜索詞后,靠排名程序?qū)崟r(shí)對(duì)這么多頁面分析相關(guān)性,計(jì)算量太大,不可能在一兩秒內(nèi)返回排名結(jié)果。因此抓取來的頁面必須經(jīng)過預(yù)處理,為最后的查詢排名做好準(zhǔn)備。

和爬行抓取一樣,預(yù)處理也是在后臺(tái)提前完成的,用戶搜索時(shí)感覺不到這個(gè)過程。

1.提取文字

現(xiàn)在的搜索引擎還是以文字內(nèi)容為基礎(chǔ)。蜘蛛抓取到的頁面中的HTML代碼,除了用戶在瀏覽器上可以看到的可見文字外,還包含了大量的HTML格式標(biāo)簽、 JavaScript程序等無法用于排名的內(nèi)容。搜索引擎預(yù)處理首先要做的就是從HTML文件中去除標(biāo)簽、程序,提取出可以用于排名處理的網(wǎng)頁面文字內(nèi) 容。

今天愚人節(jié)哈

除去HTML代碼后,剩下的用于排名的文字只是這一行:

今天愚人節(jié)哈

除了可見文字,搜索引擎也會(huì)提取出一些特殊的包含文字信息的代碼,如Meta標(biāo)簽中的文字、圖片替代文字、Flash文件的替代文字、鏈接錨文字等。

2.中文分詞

分詞是中文搜索引擎特有的步驟。搜索引擎存儲(chǔ)和處理頁面及用戶搜索都是以詞為基礎(chǔ)的。英文等語言單詞與單詞之間有空格分隔,搜索引擎索引程序可以直接把句子 劃分為單詞的集合。而中文詞與詞之間沒有任何分隔符,一個(gè)句子中的所有字和詞都是連在一起的。搜索引擎必須首先分辨哪幾個(gè)字組成一個(gè)詞,哪些字本身就是一 個(gè)詞。比如“減肥方法”將被分詞為“減肥”和“方法”兩個(gè)詞。

中文分詞方法基本上有兩種,一種是基于詞典匹配,另一種是基于統(tǒng)計(jì)。

基于詞典匹配的方法是指,將待分析的一段漢字與一個(gè)事先造好的詞典中的詞條進(jìn)行匹配,在待分析漢字串中掃描到詞典中已有的詞條則匹配成功,或者說切分出一個(gè)單詞。

按照掃描方向,基于詞典的匹配法可以分為正向匹配和逆向匹配。按照匹配長度優(yōu)先級(jí)的不同,又可以分為最大匹配和最小匹配。將掃描方向和長度優(yōu)先混合,又可以產(chǎn)生正向最大匹配、逆向最大匹配等不同方法。

詞典匹配方法計(jì)算簡單,其準(zhǔn)確度在很大程度上取決于詞典的完整性和更新情況。

基于統(tǒng)計(jì)的分詞方法指的是分析大量文字樣本,計(jì)算出字與字相鄰出現(xiàn)的統(tǒng)計(jì)概率,幾個(gè)字相鄰出現(xiàn)越多,就越可能形成一個(gè)單詞;诮y(tǒng)計(jì)的方法的優(yōu)勢(shì)是對(duì)新出現(xiàn)的詞反應(yīng)更快速,也有利于消除歧義。

基于詞典匹配和基于統(tǒng)計(jì)的分詞方法各有優(yōu)劣,實(shí)際使用中的分詞系統(tǒng)都是混合使用兩種方法的,快速高效,又能識(shí)別生詞、新詞,消除歧義。

中文分詞的準(zhǔn)確性往往影響搜索引擎排名的相關(guān)性。比如在百度搜索搜索引擎優(yōu)化”,從快照中可以看到,百度把“搜索引擎優(yōu)化”這六個(gè)字當(dāng)成一個(gè)詞。

而在Google搜索同樣的詞,快照顯示Google將其分切為“搜索引擎”和“優(yōu)化”兩個(gè)詞。顯然百度切分得更為合理,搜索引擎優(yōu)化是一個(gè)完整的概念。Google分詞時(shí)傾向于更為細(xì)碎。

這種分詞上的不同很可能是一些關(guān)鍵詞排名在不同搜索引擎有不同表現(xiàn)的原因之一。比如百度更喜歡將搜索詞完整匹配地出現(xiàn)在頁面上,也就是說搜索“夠戲博客” 時(shí),這四個(gè)字連續(xù)完整出現(xiàn)更容易在百度獲得好的排名。Google就與此不同,不太要求完整匹配。一些頁面出現(xiàn)“夠戲”和“博客”兩個(gè)詞,但不必完整匹配 地出現(xiàn),“夠戲”出現(xiàn)在前面,“博客”出現(xiàn)在頁面的其他地方,這樣的頁面在Google搜索“夠戲博客”時(shí),也可以獲得不錯(cuò)的排名。

搜索引擎對(duì)頁面的分詞取決于詞庫的規(guī)模、準(zhǔn)確性和分詞算法的好壞,而不是取決于頁面本身如何,所以SEO人員對(duì)分詞所能做的很少。唯一能做的是在頁面上用某種形 式提示搜索引擎,某幾個(gè)字應(yīng)該被當(dāng)做一個(gè)詞處理,尤其是可能產(chǎn)生歧義的時(shí)候,比如在頁面標(biāo)題、h1標(biāo)簽及黑體中出現(xiàn)關(guān)鍵詞。如果頁面是關(guān)于“和服”的內(nèi) 容,那么可以把“和服”這兩個(gè)字特意標(biāo)為黑體。如果頁面是關(guān)于“化妝和服裝”,可以把“服裝”兩個(gè)字標(biāo)為黑體。這樣,搜索引擎對(duì)頁面進(jìn)行分析時(shí)就知道標(biāo)為 黑體的應(yīng)該是一個(gè)詞。

3.去停止詞

無論是英文還是中文,頁面內(nèi)容中都會(huì)有一些出現(xiàn)頻率很 高,卻對(duì)內(nèi)容沒有任何影響的詞,如“的”、“地”、“得”之類的助詞,“啊”、“哈”、“呀”之類的感嘆詞,“從而”、“以”、“卻”之類的副詞或介詞。 這些詞被稱為停止詞,因?yàn)樗鼈儗?duì)頁面的主要意思沒什么影響。英文中的常見停止詞有the,a,an,to,of等。

搜索引擎在索引頁面之前會(huì)去掉這些停止詞,使索引數(shù)據(jù)主題更為突出,減少無謂的計(jì)算量。

4.消除噪聲

絕 大部分頁面上還有一部分內(nèi)容對(duì)頁面主題也沒有什么貢獻(xiàn),比如版權(quán)聲明文字、導(dǎo)航條、廣告等。以常見的博客導(dǎo)航為例,幾乎每個(gè)博客頁面上都會(huì)出現(xiàn)文章分類、 歷史存檔等導(dǎo)航內(nèi)容,但是這些頁面本身與“分類”、“歷史”這些詞都沒有任何關(guān)系。用戶搜索“歷史”、“分類”這些關(guān)鍵詞時(shí)僅僅因?yàn)轫撁嫔嫌羞@些詞出現(xiàn)而 返回博客帖子是毫無意義的,完全不相關(guān)。所以這些區(qū)塊都屬于噪聲,對(duì)頁面主題只能起到分散作用。

搜索引擎需要識(shí)別并消除這些噪聲,排名時(shí)不使用噪聲內(nèi)容。消噪的基本方法是根據(jù)HTML標(biāo)簽對(duì)頁面分塊,區(qū)分出頁頭、導(dǎo)航、正文、頁腳、廣告等區(qū)域,在網(wǎng)站上大量重復(fù)出現(xiàn)的區(qū)塊往往屬于噪聲。對(duì)頁面進(jìn)行消噪后,剩下的才是頁面主體內(nèi)容。

5.去重

搜索引擎還需要對(duì)頁面進(jìn)行去重處理。

同 一篇文章經(jīng)常會(huì)重復(fù)出現(xiàn)在不同網(wǎng)站及同一個(gè)網(wǎng)站的不同網(wǎng)址上,搜索引擎并不喜歡這種重復(fù)性的內(nèi)容。用戶搜索時(shí),如果在前兩頁看到的都是來自不同網(wǎng)站的同一 篇文章,用戶體驗(yàn)就太差了,雖然都是內(nèi)容相關(guān)的。搜索引擎希望只返回相同文章中的一篇,所以在進(jìn)行索引前還需要識(shí)別和刪除重復(fù)內(nèi)容,這個(gè)過程就稱為“去 重”。

去重的基本方法是對(duì)頁面特征關(guān)鍵詞計(jì)算指紋,也就是說從頁面主體內(nèi)容中選取最有代表性的一部分關(guān)鍵詞(經(jīng)常是出現(xiàn)頻率最高的關(guān)鍵 詞),然后計(jì)算這些關(guān)鍵詞的數(shù)字指紋。這里的關(guān)鍵詞選取是在分詞、去停止詞、消噪之后。實(shí)驗(yàn)表明,通常選取10個(gè)特征關(guān)鍵詞就可以達(dá)到比較高的計(jì)算準(zhǔn)確 性,再選取更多詞對(duì)去重準(zhǔn)確性提高的貢獻(xiàn)也就不大了。

典型的指紋計(jì)算方法如MD5算法(信息摘要算法第五版)。這類指紋算法的特點(diǎn)是,輸入(特征關(guān)鍵詞)有任何微小的變化,都會(huì)導(dǎo)致計(jì)算出的指紋有很大差距。

了 解了搜索引擎的去重算法,SEO人員就應(yīng)該知道簡單地增加“的”、“地”、“得”、調(diào)換段落順序這種所謂偽原創(chuàng),并不能逃過搜索引擎的去重算法,因?yàn)檫@樣 的操作無法改變文章的特征關(guān)鍵詞。而且搜索引擎的去重算法很可能不止于頁面級(jí)別,而是進(jìn)行到段落級(jí)別,混合不同文章、交叉調(diào)換段落順序也不能使轉(zhuǎn)載和抄襲 變成原創(chuàng)。

6.正向索引

正向索引也可以簡稱為索引。

經(jīng)過文字提取、分詞、 消噪、去重后,搜索引擎得到的就是獨(dú)特的、能反映頁面主體內(nèi)容的、以詞為單位的內(nèi)容。接下來搜索引擎索引程序就可以提取關(guān)鍵詞,按照分詞程序劃分好的詞, 把頁面轉(zhuǎn)換為一個(gè)關(guān)鍵詞組成的集合,同時(shí)記錄每一個(gè)關(guān)鍵詞在頁面上的出現(xiàn)頻率、出現(xiàn)次數(shù)、格式(如出現(xiàn)在標(biāo)題標(biāo)簽、黑體、H標(biāo)簽、錨文字等)、位置(如頁 面第一段文字等)。這樣,每一個(gè)頁面都可以記錄為一串關(guān)鍵詞集合,其中每個(gè)關(guān)鍵詞的詞頻、格式、位置等權(quán)重信息也都記錄在案。

搜索引擎索引程序?qū)㈨撁婕瓣P(guān)鍵詞形成詞表結(jié)構(gòu)存儲(chǔ)進(jìn)索引庫。簡化的索引詞表形式如表2-1所示。

每個(gè)文件都對(duì)應(yīng)一個(gè)文件ID,文件內(nèi)容被表示為一串關(guān)鍵詞的集合。實(shí)際上在搜索引擎索引庫中,關(guān)鍵詞也已經(jīng)轉(zhuǎn)換為關(guān)鍵詞ID.這樣的數(shù)據(jù)結(jié)構(gòu)就稱為正向索引。

7.倒排索引

正向索引還不能直接用于排名。假設(shè)用戶搜索關(guān)鍵詞2,如果只存在正向索引,排名程序需要掃描所有索引庫中的文件,找出包含關(guān)鍵詞2的文件,再進(jìn)行相關(guān)性計(jì)算。這樣的計(jì)算量無法滿足實(shí)時(shí)返回排名結(jié)果的要求。

所以搜索引擎會(huì)將正向索引數(shù)據(jù)庫重新構(gòu)造為倒排索引,把文件對(duì)應(yīng)到關(guān)鍵詞的映射轉(zhuǎn)換為關(guān)鍵詞到文件的映射,如表2-2所示。

在倒排索引中關(guān)鍵詞是主鍵,每個(gè)關(guān)鍵詞都對(duì)應(yīng)著一系列文件,這些文件中都出現(xiàn)了這個(gè)關(guān)鍵詞。這樣當(dāng)用戶搜索某個(gè)關(guān)鍵詞時(shí),排序程序在倒排索引中定位到這個(gè)關(guān)鍵詞,就可以馬上找出所有包含這個(gè)關(guān)鍵詞的文件。

8.鏈接關(guān)系計(jì)算

鏈接關(guān)系計(jì)算也是預(yù)處理中很重要的一部分。現(xiàn)在所有的主流搜索引擎排名因素中都包含網(wǎng)頁之間的鏈接流動(dòng)信息。搜索引擎在抓取頁面內(nèi)容后,必須事前計(jì)算出:頁 面上有哪些鏈接指向哪些其他頁面,每個(gè)頁面有哪些導(dǎo)入鏈接,鏈接使用了什么錨文字,這些復(fù)雜的鏈接指向關(guān)系形成了網(wǎng)站和頁面的鏈接權(quán)重。

Google PR值就是這種鏈接關(guān)系的最主要體現(xiàn)之一。其他搜索引擎也都進(jìn)行類似計(jì)算,雖然它們并不稱為PR.

由于頁面和鏈接數(shù)量巨大,網(wǎng)上的鏈接關(guān)系又時(shí)時(shí)處在更新中,因此鏈接關(guān)系及PR的計(jì)算要耗費(fèi)很長時(shí)間。關(guān)于PR和鏈接分析,后面還有專門的章節(jié)介紹。

9.特殊文件處理

除 了HTML文件外,搜索引擎通常還能抓取和索引以文字為基礎(chǔ)的多種文件類型,如PDF、Word、WPS、XLS、PPT、TXT文件等。我們?cè)谒阉鹘Y(jié)果 中也經(jīng)常會(huì)看到這些文件類型。但目前的搜索引擎還不能處理圖片、視頻、Flash這類非文字內(nèi)容,也不能執(zhí)行腳本和程序。

雖然搜索引擎在識(shí)別圖片及從Flash中提取文字內(nèi)容方面有些進(jìn)步,不過距離直接靠讀取圖片、視頻、Flash內(nèi)容返回結(jié)果的目標(biāo)還很遠(yuǎn)。對(duì)圖片、視頻內(nèi)容的排名還往往是依據(jù)與之相關(guān)的文字內(nèi)容,詳細(xì)情況可以參考后面的整合搜索部分。

排名

經(jīng)過搜索引擎蜘蛛抓取的界面,搜索引擎程序 計(jì)算得到倒排索引后,收索引擎就準(zhǔn)備好可以隨時(shí)處理用戶搜索了。用戶在搜索框填入關(guān)鍵字后,排名程序調(diào)用索引庫數(shù)據(jù),計(jì)算排名顯示給客戶,排名過程是與客戶直接互動(dòng)的。

轉(zhuǎn)載請(qǐng)保留原文地址: http://jeyalandpromoters.com/show-551.html

責(zé)編:王麗 作者:不詳 來源:網(wǎng)絡(luò)