153-1215-0221
點擊撥打咨詢電話
點擊撥打咨詢電話
奇米影视网
您的當前位置:主頁 > 優化技術 >

百度搜索引擎工作原理

時間:2017-12-08 11:15 作者:蘇州網站優化

  節-抓取建庫


  Spider抓取系統的基本框架


  互聯網信息爆發式增長,如何有效的獲取并利用這些信息是搜索引擎工作中的首要環節。數據抓取系統作為整個搜索系統中的上游,主要負責互聯網信息的搜集、保存、更新環節,它像蜘蛛一樣在網絡間爬來爬去,因此通常會被叫做“spider”。例如我們常用的幾家通用搜索引擎蜘蛛被稱為:Baiduspdier、Googlebot、Sogou Web Spider等。


  Spider抓取系統是搜索引擎數據來源的重要保證,如果把web理解為一個有向圖,那么spider的工作過程可以認為是對這個有向圖的遍歷。從一些重要的種子 URL開始,通過頁面上的超鏈接關系,不斷的發現新URL并抓取,盡可能抓取到更多的有價值網頁。對于類似百度這樣的大型spider系統,因為每時 每刻都存在網頁被修改、刪除或出現新的超鏈接的可能,因此,還要對spider過去抓取過的頁面保持更新,維護一個URL庫和頁面庫。


  下圖為spider抓取系統的基本框架圖,其中包括鏈接存儲系統、鏈接選取系統、dns解析服務系統、抓取調度系統、網頁分析系統、鏈接提取系統、鏈接分析系統、網頁存儲系統。Baiduspider即是通過這種系統的通力合作完成對互聯網頁面的抓取工作。


  Baiduspider 主要抓取策略類型


  上圖看似簡單,但其實Baiduspider在抓取過程中面對的是一個超級復雜的網絡環境,為了使系統可以抓取到盡可能多的有價值資源并保持系統及實際環境中頁面的一致性同時不給網站體驗造成壓力,會設計多種復雜的抓取策略。以下做簡單介紹:


  1、抓取友好性


  互聯網資源龐大的數量級,這就要求抓取系統盡可能的高效利用帶寬,在有限的硬件和帶寬資源下盡可能多的抓取到有價值資源。這就造成了另一個問題,耗費被抓網站的帶寬造成訪問壓力,如果程度過大將直接影響被抓網站的正常用戶訪問行為。因此,在抓取過程中就要進行一定的抓取壓力控制,達到既不影響網站的正常用戶訪問又能盡量多的抓取到有價值資源的目的。


  通常情況下,基本的是基于ip的壓力控制。這是因為如果基于域名,可能存在一個域名對多個ip(很多大網站)或多個域名對應同一個ip(小網站共享ip)的問題。實際中,往往根據ip及域名的多種條件進行壓力調配控制。同時,站長平臺也推出了壓力反饋工具,站長可以人工調配對自己網站的抓取壓力,這時百度spider將優先按照站長的要求進行抓取壓力控制。


  對同一個站點的抓取速度控制一般分為兩類:其一,一段時間內的抓取頻率;其二,一段時間內的抓取流量。同一站點不同的時間抓取速度也會不同,例如夜深人靜月黑風高時候抓取的可能就會快一些,也視具體站點類型而定,主要思想是錯開正常用戶訪問高峰,不斷的調整。對于不同站點,也需要不同的抓取速度。


  2、常用抓取返回碼示意


  簡單介紹幾種百度支持的返回碼:


  1)常見的404代表“NOT FOUND”,認為網頁已經失效,通常將在庫中刪除,同時短期內如果spider再次發現這條url也不會抓取;


  2)503代表“Service Unavailable”,認為網頁臨時不可訪問,通常網站臨時關閉,帶寬有限等會產生這種情況。對于網頁返回503狀態碼,百度spider不會把這條url直接刪除,同時短期內將會反復訪問幾次,如果網頁已恢復,則正常抓取;如果繼續返回503,那么這條url仍會被認為是失效鏈接,從庫中刪除。


  3)403代表“Forbidden”,認為網頁目前禁止訪問。如果是新url,spider暫時不抓取,短期內同樣會反復訪問幾次;如果是已收錄url,不會直接刪除,短期內同樣反復訪問幾次。如果網頁正常訪問,則正常抓取;如果仍然禁止訪問,那么這條url也會被認為是失效鏈接,從庫中刪除。


  4)301代表是“Moved Permanently”,認為網頁重定向至新url。當遇到站點遷移、域名更換、站點改版的情況時,我們推薦使用301返回碼,同時使用站長平臺網站改版工具,以減少改版對網站流量造成的損失。


  3、多種url重定向的識別


  互聯網中一部分網頁因為各種各樣的原因存在url重定向狀態,為了對這部分資源正常抓取,就要求spider對url重定向進行識別判斷,同時防止作弊行為。重定向可分為三類:http 30x重定向、meta refresh重定向和js重定向。另外,百度也支持Canonical標簽,在效果上可以認為也是一種間接的重定向。


  4、抓取優先級調配


  由于互聯網資源規模的巨大以及迅速的變化,對于搜索引擎來說全部抓取到并合理的更新保持一致性幾乎是不可能的事情,因此這就要求抓取系統設計一套合理的抓取優先級調配策略。主要包括:深度優先遍歷策略、寬度優先遍歷策略、pr優先策略、反鏈策略、社會化分享指導策略等等。每個策略各有優劣,在實際情況中往往是多種策略結合使用以達到優的抓取效果。


  5、重復url的過濾


  spider在抓取過程中需要判斷一個頁面是否已經抓取過了,如果還沒有抓取再進行抓取網頁的行為并放在已抓取網址集合中。判斷是否已經抓取其中涉及到核心的是快速查找并對比,同時涉及到url歸一化識別,例如一個url中包含大量無效參數而實際是同一個頁面,這將視為同一個url來對待。


  6、暗網數據的獲取


  互聯網中存在著大量的搜索引擎暫時無法抓取到的數據,被稱為暗網數據。一方面,很多網站的大量數據是存在于網絡數據庫中,spider難以采用抓取網頁的方式獲得完整內容;另一方面,由于網絡環境、網站本身不符合規范、孤島等等問題,也會造成搜索引擎無法抓取。目前來說,對于暗網數據的獲取主要思路仍然是通過開放平臺采用數據提交的方式來解決,例如“百度站長平臺”“百度開放平臺”等等。


  7、抓取反作弊


  spider在抓取過程中往往會遇到所謂抓取黑洞或者面臨大量低質量頁面的困擾,這就要求抓取系統中同樣需要設計一套完善的抓取反作弊系統。例如分析url特征、分析頁面大小及內容、分析站點規模對應抓取規模等等。


  Baiduspider抓取過程中涉及的網絡協議


  剛才提到百度搜索引擎會設計復雜的抓取策略,其實搜索引擎與資源提供者之間存在相互依賴的關系,其中搜索引擎需要站長為其提供資源,否則搜索引擎就無法滿足用戶檢索需求;而站長需要通過搜索引擎將自己的 內容推廣出去獲取更多的受眾。spider抓取系統直接涉及互聯網資源提供者的利益,為了使搜素引擎與站長能夠達到雙贏,在抓取過程中雙方必須遵守一定的 規范,以便于雙方的數據處理及對接。這種過程中遵守的規范也就是日常中我們所說的一些網絡協議。


  以下簡單列舉:


  http協議:超文本傳輸協議,是互聯網上應用為廣泛的一種網絡協議,客戶端和服務器端請求和應答的標準。客戶端一般情況是指終端用戶,服務器端即指網 站。終端用戶通過瀏覽器、蜘蛛等向服務器指定端口發送http請求。發送http請求會返回對應的httpheader信息,可以看到包括是否成功、服務 器類型、網頁近更新時間等內容。


  https協議:實際是加密版http,一種更加安全的數據傳輸協議。


  UA屬性:UA即user-agent,是http協議中的一個屬性,代表了終端的身份,向服務器端表明我是誰來干嘛,進而服務器端可以根據不同的身份來做出不同的反饋結果。


  robots協議:robots.txt是搜索引擎訪問一個網站時要訪問的個文件,用以來確定哪些是被允許抓取的哪些是被禁止抓取的。 robots.txt必須放在網站根目錄下,且文件名要小寫。詳細的robots.txt寫法可參考 http://www.robotstxt.org 。百度嚴格按照robots協議執行,另外,同樣支持網頁內容中添加的名為robots的meta標 簽,index、follow、nofollow等指令。


  Baiduspider抓取頻次原則及調整方法


  Baiduspider根據上述網站設置的協議對站點頁面進行抓取,但是不可能做到對所有站點一視同仁,會綜合考慮站點實際情況確定一個抓取配額,每天定量抓取站點內容,即我們常說的抓取頻次。那么百度搜索引擎是根據什么指標來確定對一個網站的抓取頻次的呢,主要指標有四個:


  1,網站更新頻率:更新快多來,更新慢少來,直接影響Baiduspider的來訪頻率


  2,網站更新質量:更新頻率提高了,僅僅是吸引了Baiduspier的注意,Baiduspider對質量是有嚴格要求的,如果網站每天更新出的大量內容都被Baiduspider判定為低質頁面,依然沒有意義。


  3,連通度:網站應該安全穩定、對Baiduspider保持暢通,經常給Baiduspider吃閉門羹可不是好事情


  4,站點評價:百度搜索引擎對每個站點都會有一個評價,且這個評價會根據站點情況不斷變化,是百度搜索引擎對站點的一個基礎打分(絕非外界所說的百度權重),是百度內部一個非常機密的數據。站點評級從不獨立使用,會配合其它因子和閾值一起共同影響對網站的抓取和排序。


  抓取頻次間接決定著網站有多少頁面有可能被建庫收錄,如此重要的數值如果不符合站長預期該如何調整呢?百度站長平臺提供了抓取頻次工具(http://zhanzhang.baidu.com/pressure/index),并已完成多次升級。該工具除了提供抓取統計數據外,還提供“頻次調整”功能,站長根據實際情況向百度站長平臺提出希望Baiduspider增加來訪或減少來訪的請求,工具會根據站長的意愿和實際情況進行調整。


  造成Baiduspider抓取異常的原因


  有一些網頁,內容優質,用戶也可以正常訪問,但是Baiduspider卻無法正常訪問并抓取,造成搜索結果覆蓋率缺失,對百度搜索引擎對站點都是一種損失,百度把這種情況叫“抓取異常”。對于大量內容無法正常抓取的網站,百度搜索引擎會認為網站存在用戶體驗上的缺陷,并降低對網站的評價,在抓取、索引、排序上都會受到一定程度的負面影響,終影響到網站從百度獲取的流量。


上一篇:網站地圖XML Sitemap 相關問題
下一篇:百度調整后SEO優化應該如何做?
?
蘇州獵搜云
文章資訊
客戶案例
服務項目
聯系我們

153-1215-0221

獵搜云網絡服務熱線

Powered By 蘇州獵搜云SEO 網站地圖【HTML/XML