資源描述:
《白帽seo之搜索引擎工作的基礎(chǔ)流程與原理》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、白帽seo之搜索引擎工作的基礎(chǔ)流程與原理搜索引擎最重要的是什么?有人會說是查詢結(jié)果的準(zhǔn)確性,有人會說是查詢結(jié)果的豐富性,但其實(shí)這些都不是搜索引擎最最致命的地方。對于搜索引擎來說,最最致命的是查詢時間。試想一下,如果你在百度界面上查詢一個關(guān)鍵詞,結(jié)果需要5分鐘才能將你的查詢結(jié)果反饋給你,那結(jié)果必然是你很快的舍棄掉百度。搜索引擎為了滿足對速度苛刻的要求(現(xiàn)在商業(yè)的搜索引擎的查詢時間單位都是微秒數(shù)量級的),所以采用緩存支持查詢需求的方式,也就是說我們在查詢搜索時所得到的結(jié)果并不是及時的,而是在其服務(wù)器已經(jīng)緩存好了的結(jié)果。那么搜索引擎工作的大體
2、流程是什么樣子呢?我們可以理解為三段式。本文僅僅是對著三段工作流程進(jìn)行大體上的講解與綜述,其中一些詳細(xì)的技術(shù)細(xì)節(jié)將會用其它的文章進(jìn)行單獨(dú)的講解。一.網(wǎng)頁搜集網(wǎng)頁搜集,其實(shí)就是大家常說的蜘蛛抓取網(wǎng)頁。那么對于蜘蛛(google稱之為機(jī)器人)來說,他們感興趣的頁面分為三類:1.蜘蛛從未抓去過的新頁面。2.蜘蛛抓取過,但頁面內(nèi)容有改動的頁面。3.蜘蛛抓取過,但現(xiàn)在已刪除了的頁面。那么如何行之有效的發(fā)現(xiàn)這三類頁面并進(jìn)行抓取,就是spider程序設(shè)計的初衷與目的。那么這里就涉及到一個問題,蜘蛛抓取的起始點(diǎn)。每一位站長只要你的網(wǎng)站沒有被嚴(yán)重降權(quán),那
3、么通過網(wǎng)站后臺的服務(wù)器,你都可以發(fā)現(xiàn)勤勞的蜘蛛光顧你的站點(diǎn),但是你們有沒有想過從編寫程序的角度上來說,蜘蛛是怎么來的呢?針對于此,各方有各方的觀點(diǎn)。有一種說法,說蜘蛛的抓取是從種子站(或叫高權(quán)重站),依照權(quán)重由高至低逐層出發(fā)的。另一種說法蜘蛛爬在URL集合中是沒有明顯先后順序的,搜索引擎會根據(jù)你網(wǎng)站內(nèi)容更新的規(guī)律,自動計算出何時是爬取你網(wǎng)站的最佳時機(jī),然后進(jìn)行抓取。其實(shí)對于不同的搜索引擎,其抓取出發(fā)點(diǎn)定然會有所區(qū)別,針對于百度,筆者較為傾向于后者。在百度官方博客發(fā)布的《索引頁鏈接補(bǔ)全機(jī)制的一種辦法》一文中,其明確指出“spider會盡量
4、探測網(wǎng)頁的發(fā)布周期,以合理的頻率來檢查網(wǎng)頁”,由此我們可以推斷,在百度的索引庫中,針對每個URL集合,其都計算出適合其的抓取時間以及一系列參數(shù),然后對相應(yīng)站點(diǎn)進(jìn)行抓取。在這里,我要說明一下,就是針對百度來說,site的數(shù)值并非是蜘蛛已抓取你頁面的數(shù)值。比如site:www.****.com,所得出的數(shù)值并不是大家常說的百度收錄數(shù)值,想查詢具體的百度收錄量應(yīng)該在百度提供的站長工具里查詢索引數(shù)量。那么site是什么?這個我會在今后的文章中為大家講解。那么蜘蛛如何發(fā)現(xiàn)新鏈接呢?其依靠的就是超鏈接。我們可以把所有的互聯(lián)網(wǎng)看成一個有向集合的聚集體
5、,蜘蛛由起始的URL集合A沿著網(wǎng)頁中超鏈接開始不停的發(fā)現(xiàn)新頁面。在這個過程中,每發(fā)現(xiàn)新的URL都會與集合A中已存的進(jìn)行比對,若是新的URL,則加入集合A中,若是已在集合A中存在,則丟棄掉。蜘蛛對一個站點(diǎn)的遍歷抓取策略分為兩種,一種是深度優(yōu)先,另一種就是寬度優(yōu)先。但是如果是百度這類商業(yè)搜索引擎,其遍歷策略則可能是某種更加復(fù)雜的規(guī)則,例如涉及到域名本身的權(quán)重系數(shù)、涉及到百度本身服務(wù)器矩陣分布等。二.預(yù)處理預(yù)處理是搜索引擎最復(fù)雜的部分,基本上大部分排名算法都是在預(yù)處理這個環(huán)節(jié)生效。那么搜索引擎在預(yù)處理這個環(huán)節(jié),針對數(shù)據(jù)主要進(jìn)行以下幾步處理:1
6、.提取關(guān)鍵詞蜘蛛抓取到的頁面與我們在瀏覽器中查看的源碼是一樣的,通常代碼雜亂無章,而且其中還有很多與頁面主要內(nèi)容是無關(guān)的。由此,搜索引擎需要做三件事情:1代碼去噪。去除掉網(wǎng)頁中所有的代碼,僅剩下文本文字。②去除非正文關(guān)鍵詞。例如頁面上的導(dǎo)航欄以及其它不同頁面共享的公共區(qū)域的關(guān)鍵詞。③去除停用詞。停用詞是指沒有具體意義的詞匯,例如“的”“在”等。當(dāng)搜索引擎得到這篇網(wǎng)頁的關(guān)鍵詞后,會用自身的分詞系統(tǒng),將此文分成一個分詞列表,然后儲存在數(shù)據(jù)庫中,并與此文的URL進(jìn)行一一對應(yīng)。下面我舉例說明。假如蜘蛛爬取的頁面的URL是http://www.*
7、***.com/2.html,而搜索引擎在此頁面經(jīng)過上述操作后提取到的關(guān)鍵詞集合為p,且p是由關(guān)鍵詞p1,p2,……,pn組成,則在百度數(shù)據(jù)庫中,其相互間的關(guān)系是一一對應(yīng),如下圖。2.消除重復(fù)與轉(zhuǎn)載網(wǎng)頁每個搜索引擎其識別重復(fù)頁面的算法均不相同,但是其中筆者認(rèn)為,如果將消重算法理解為由100個元素組成,那么所有的搜索引擎恐怕其80個元素都是完全一樣的。而另外20個元素,則是根據(jù)不同的搜索引擎針對seo的態(tài)度不同,而專門設(shè)立的對應(yīng)策略。本文僅對搜索引擎大體流程進(jìn)行初步講解,具體數(shù)學(xué)模型不多做講解。3.重要信息分析在進(jìn)行代碼除噪的過程中,搜索
8、引擎并非簡單的將其去除掉而已,而是充分利用網(wǎng)頁代碼(例如H標(biāo)簽、strong標(biāo)簽)、關(guān)鍵詞密度、內(nèi)鏈錨文本等方式分析出此網(wǎng)頁中最重要的詞組。4.網(wǎng)頁重要度分析通過指向該網(wǎng)頁的外鏈錨文本所傳遞的權(quán)重數(shù)值,來為