關于百度搜索引擎工作原理知識,有不少站長SEO還沒有認真閱讀和理解,本文解讀百度蜘蛛抓取系統與建庫索引,讓SEOer對百度蜘蛛的收錄索引建庫有更多了解。
互聯網信息爆發式增長,如何有效的獲取并利用這些信息是搜索引擎工作中的首要環節。數據抓取系統作為整個搜索系統中的上游,主要負責互聯網信息的搜集、保存、更新環節,它像蜘蛛一樣在網絡間爬來爬去,因此通常會被叫做 “spider”。例如我們常用的幾家通用搜索引擎蜘蛛被稱為:Baiduspdier、Googlebot、Sogou Web Spider 等。
蜘蛛抓取系統是搜索引擎數據來源的重要保證,如果把 web 理解為一個有向圖,那么 spider 的工作過程可以認為是對這個有向圖的遍歷。從一些重要的種子 URL 開始,通過頁面上的超鏈接關系,不斷的發現新 URL 并抓取,盡最大可能抓取到更多的有價值網頁。對于類似百度這樣的大型 spider系統,因為每時每刻都存在網頁被修改、刪除或出現新的超鏈接的可能,因此,還要對 spider 過去抓取過的頁面保持更新,維護一個URL庫和頁面庫。
下圖為蜘蛛抓取系統的基本框架圖,其中包括鏈接存儲系統、鏈接選取系統、dns 解析服務系統、抓取調度系統、網頁分析系統、鏈接提取系統、鏈接分析系統、網頁存儲系統。Baiduspider即是通過這種系統的通力合作完成對互聯網頁面的抓取工作。
上圖看似簡單,但其實百度蜘蛛在抓取過程中面對的是一個超級復雜的網絡環境,為了使系統可以抓取到盡可能多的有價值資源并保持系統及實際環境中頁面的一致性同時不給網站體驗造成壓力,會設計多種復雜的抓取策略。以下做簡單介紹:
1. 抓取友好性
互聯網資源龐大的數量級,這就要求抓取系統盡可能的高效利用帶寬,在有限的硬件和帶寬資源下盡可能多的抓取到有價值資源。這就造成了另一個問題,耗費被抓網站的帶寬造成訪問壓力,如果程度過大將直接影響被抓網站的正常用戶訪問行為。因此,在抓取過程中就要進行一定的抓取壓力控制,達到既不影響網站的正常用戶訪問又能盡量多的抓取到有價值資源的目的。
通常情況下,最基本的是基于 ip 的壓力控制。這是因為如果基于域名,可能存在一個域名對多個 ip(很多大網站)或多個域名對應同一個 ip(小網站共享 ip)的問題。實際中,往往根據 ip 及域名的多種條件進行壓力調配控制。同時,站長平臺也推出了壓力反饋工具,站長可以人工調配對自己網站的抓取壓力,這時百度 spider 將優先按照站長的要求進行抓取壓力控制。
對同一個站點的抓取速度控制一般分為兩類:
其一,一段時間內的抓取頻率;
其二,一段時間內的抓取流量。同一站點不同的時間抓取速度也會不同。
例如夜深人靜月黑風高時候抓取的可能就會快一些,也視具體站點類型而定,主要思想是錯開正常用戶訪問高峰,不斷的調整。對于不同站點,也需要不同的抓取速度。
在建庫環節前,百度蜘蛛會對頁面進行初步內容分析和鏈接分析,通過內容分析決定該網頁是否需要建索引庫,通過鏈接分析發現更多網頁,再對更多網頁進行抓取——分析——是否建庫 & 發現新鏈接的流程。理論上,百度蜘蛛會將新頁面上所有能 “看到” 的鏈接都抓取回來,那么面對眾多新鏈接,
百度蜘蛛根據什么判斷哪個更重要呢?
兩方面:
1,對用戶的價值
內容獨特,百度搜索引擎喜歡原創唯一的內容
主體突出,切不要出現網頁主體內容不突出而被搜索引擎誤判為空短頁面不抓取
內容豐富
廣告適當
2,鏈接重要程度
目錄層級——淺層優先
鏈接在站內的受歡迎程度
百度蜘蛛抓了多少頁面并不是最重要的,重要的是有多少頁面被建索引庫,即我們常說的 “建庫”。眾所周知,搜索引擎的索引庫是分層級的,優質的網頁會被分配到重要索引庫,普通網頁會待在普通庫,再差一些的網頁會被分配到低級庫去當補充材料。目前 60% 的檢索需求只調用重要索引庫即可滿足,這也就解釋了為什么有些網站的收錄量超高流量卻一直不理想。
那么,哪些網頁可以進入優質索引庫呢。其實總的原則就是一個:對用戶的價值。包括卻不僅于:
有時效性且有價值的頁面:在這里,時效性和價值是并列關系,缺一不可。有些站點為了產生時效性內容頁面做了大量采集工作,產生了一堆無價值面頁,也是百度不愿看到的 .
內容優質的專題頁面:專題頁面的內容不一定完全是原創的,即可以很好地把各方內容整合在一起,或者增加一些新鮮的內容,比如觀點和評論,給用戶更豐富全面的內容。
高價值原創內容頁面:百度把原創定義為花費一定成本、大量經驗積累提取后形成的文章。千萬不要再問我們偽原創是不是原創。
重要個人頁面:這里僅舉一個例子,科比在新浪微博開戶了,即使他不經常更新,但對于百度來說,它仍然是一個極重要的頁面。
上述優質網頁進了索引庫,那其實互聯網上大部分網站根本沒有被百度收錄。并非是百度沒有發現他們,而是在建庫前的篩選環節被過濾掉了。
那怎樣的網頁在最初環節就被過濾掉了呢:
重復內容的網頁:互聯網上已有的內容,百度必然沒有必要再收錄。
主體內容空短的網頁
有些內容使用了百度蜘蛛無法解析的技術,如 JS、AJAX 等,雖然用戶訪問能看到豐富的內容,依然會被搜索引擎拋棄
加載速度過慢的網頁,也有可能被當作空短頁面處理,注意廣告加載時間算在網頁整體加載時間內。
很多主體不突出的網頁即使被抓取回來也會在這個環節被拋棄。
部分作弊網頁
更多關于百度蜘蛛抓取系統原理與索引建庫,請前往百度站長論壇查看文檔。