2014-02-27 分類: 網(wǎng)站建設
關于百度以及其它搜索引擎的工作原理,其實大家已經(jīng)討論過很多,但隨著科技的進步、互聯(lián)網(wǎng)業(yè)的發(fā)展,各家搜索引擎都發(fā)生著巨大的變化,并且這些變化都是飛快的。我們設計這個章節(jié)的目的,除了從官方的角度發(fā)出一些聲音、糾正一些之前的誤讀外,還希望通過不斷更新內容,與百度搜索引擎發(fā)展保持同步,給各位站長帶來最新的、與百度高相關的信息。
第一節(jié)-抓取建庫
Spider抓取系統(tǒng)的基本框架
互聯(lián)網(wǎng)信息爆發(fā)式增長,如何有效的獲取并利用這些信息是搜索引擎工作中的首要環(huán)節(jié)。數(shù)據(jù)抓取系統(tǒng)作為整個搜索系統(tǒng)中的上游,主要負責互聯(lián)網(wǎng)信息的搜集、保存、更新環(huán)節(jié),它像蜘蛛一樣在網(wǎng)絡間爬來爬去,因此通常會被叫做“spider”。例如我們常用的幾家通用搜索引擎蜘蛛被稱為:Baiduspdier、Googlebot、SogouWeb Spider等。
Spider抓取系統(tǒng)是搜索引擎數(shù)據(jù)來源的重要保證,如果把web理解為一個有向圖,那么spider的工作過程可以認為是對這個有向圖的遍歷。從一些重要的種子URL開始,通過頁面上的超鏈接關系,不斷的發(fā)現(xiàn)新URL并抓取,盡大可能抓取到更多的有價值網(wǎng)頁。對于類似百度這樣的大型spider系統(tǒng),因為每時每刻都存在網(wǎng)頁被修改、刪除或出現(xiàn)新的超鏈接的可能,因此,還要對spider過去抓取過的頁面保持更新,維護一個URL庫和頁面庫。
下圖為spider抓取系統(tǒng)的基本框架圖,其中包括鏈接存儲系統(tǒng)、鏈接選取系統(tǒng)、dns解析服務系統(tǒng)、抓取調度系統(tǒng)、網(wǎng)頁分析系統(tǒng)、鏈接提取系統(tǒng)、鏈接分析系統(tǒng)、網(wǎng)頁存儲系統(tǒng)。Baiduspider即是通過這種系統(tǒng)的通力合作完成對互聯(lián)網(wǎng)頁面的抓取工作。
Baiduspider 主要抓取策略類型
其實Baiduspider在抓取過程中面對的是一個超級復雜的網(wǎng)絡環(huán)境,為了使系統(tǒng)可以抓取到盡可能多的有價值資源并保持系統(tǒng)及實際環(huán)境中頁面的一致性同時不給網(wǎng)站體驗造成壓力,會設計多種復雜的抓取策略。以下做簡單介紹:
1、抓取友好性
互聯(lián)網(wǎng)資源龐大的數(shù)量級,這就要求抓取系統(tǒng)盡可能的高效利用帶寬,在有限的硬件和帶寬資源下盡可能多的抓取到有價值資源。這就造成了另一個問題,耗費被抓網(wǎng)站的帶寬造成訪問壓力,如果程度過大將直接影響被抓網(wǎng)站的正常用戶訪問行為。因此,在抓取過程中就要進行一定的抓取壓力控制,達到既不影響網(wǎng)站的正常用戶訪問又能盡量多的抓取到有價值資源的目的。
通常情況下,最基本的是基于ip的壓力控制。這是因為如果基于域名,可能存在一個域名對多個ip(很多大網(wǎng)站)或多個域名對應同一個ip(小網(wǎng)站共享ip)的問題。實際中,往往根據(jù)ip及域名的多種條件進行壓力調配控制。同時,站長平臺也推出了壓力反饋工具,站長可以人工調配對自己網(wǎng)站的抓取壓力,這時百度spider將優(yōu)先按照站長的要求進行抓取壓力控制。
對同一個站點的抓取速度控制一般分為兩類:其一,一段時間內的抓取頻率;其二,一段時間內的抓取流量。同一站點不同的時間抓取速度也會不同,例如夜深人靜月黑風高時候抓取的可能就會快一些,也視具體站點類型而定,主要思想是錯開正常用戶訪問高峰,不斷的調整。對于不同站點,也需要不同的抓取速度。
2、常用抓取返回碼示意
簡單介紹幾種百度支持的返回碼:
1)最常見的404代表“NOT FOUND”,認為網(wǎng)頁已經(jīng)失效,通常將在庫中刪除,同時短期內如果spider再次發(fā)現(xiàn)這條url也不會抓??;
2)503代表“ServiceUnavailable”,認為網(wǎng)頁臨時不可訪問,通常網(wǎng)站臨時關閉,帶寬有限等會產生這種情況。對于網(wǎng)頁返回503狀態(tài)碼,百度spider不會把這條url直接刪除,同時短期內將會反復訪問幾次,如果網(wǎng)頁已恢復,則正常抓??;如果繼續(xù)返回503,那么這條url仍會被認為是失效鏈接,從庫中刪除。
3)403代表“Forbidden”,認為網(wǎng)頁目前禁止訪問。如果是新url,spider暫時不抓取,短期內同樣會反復訪問幾次;如果是已收錄url,不會直接刪除,短期內同樣反復訪問幾次。如果網(wǎng)頁正常訪問,則正常抓??;如果仍然禁止訪問,那么這條url也會被認為是失效鏈接,從庫中刪除。
4)301代表是“MovedPermanently”,認為網(wǎng)頁重定向至新url。當遇到站點遷移、域名更換、站點改版的情況時,我們推薦使用301返回碼,同時使用站長平臺網(wǎng)站改版工具,以減少改版對網(wǎng)站流量造成的損失。
3、多種url重定向的識別
互聯(lián)網(wǎng)中一部分網(wǎng)頁因為各種各樣的原因存在url重定向狀態(tài),為了對這部分資源正常抓取,就要求spider對url重定向進行識別判斷,同時防止作弊行為。重定向可分為三類:http30x重定向、meta refresh重定向和js重定向。另外,百度也支持Canonical標簽,在效果上可以認為也是一種間接的重定向。
4、抓取優(yōu)先級調配
由于互聯(lián)網(wǎng)資源規(guī)模的巨大以及迅速的變化,對于搜索引擎來說全部抓取到并合理的更新保持一致性幾乎是不可能的事情,因此這就要求抓取系統(tǒng)設計一套合理的抓取優(yōu)先級調配策略。主要包括:深度優(yōu)先遍歷策略、寬度優(yōu)先遍歷策略、pr優(yōu)先策略、反鏈策略、社會化分享指導策略等等。每個策略各有優(yōu)劣,在實際情況中往往是多種策略結合使用以達到最優(yōu)的抓取效果。
5、重復url的過濾
spider在抓取過程中需要判斷一個頁面是否已經(jīng)抓取過了,如果還沒有抓取再進行抓取網(wǎng)頁的行為并放在已抓取網(wǎng)址集合中。判斷是否已經(jīng)抓取其中涉及到最核心的是快速查找并對比,同時涉及到url歸一化識別,例如一個url中包含大量無效參數(shù)而實際是同一個頁面,這將視為同一個url來對待。
6、暗網(wǎng)數(shù)據(jù)的獲取
互聯(lián)網(wǎng)中存在著大量的搜索引擎暫時無法抓取到的數(shù)據(jù),被稱為暗網(wǎng)數(shù)據(jù)。一方面,很多網(wǎng)站的大量數(shù)據(jù)是存在于網(wǎng)絡數(shù)據(jù)庫中,spider難以采用抓取網(wǎng)頁的方式獲得完整內容;另一方面,由于網(wǎng)絡環(huán)境、網(wǎng)站本身不符合規(guī)范、孤島等等問題,也會造成搜索引擎無法抓取。目前來說,對于暗網(wǎng)數(shù)據(jù)的獲取主要思路仍然是通過開放平臺采用數(shù)據(jù)提交的方式來解決,例如“百度站長平臺”“百度開放平臺”等等。
7、抓取反作弊
spider在抓取過程中往往會遇到所謂抓取黑洞或者面臨大量低質量頁面的困擾,這就要求抓取系統(tǒng)中同樣需要設計一套完善的抓取反作弊系統(tǒng)。例如分析url特征、分析頁面大小及內容、分析站點規(guī)模對應抓取規(guī)模等等。
Baiduspider抓取過程中涉及的網(wǎng)絡協(xié)議
剛才提到百度搜索引擎會設計復雜的抓取策略,其實搜索引擎與資源提供者之間存在相互依賴的關系,其中搜索引擎需要站長為其提供資源,否則搜索引擎就無法滿足用戶檢索需求;而站長需要通過搜索引擎將自己的內容推廣出去獲取更多的受眾。spider抓取系統(tǒng)直接涉及互聯(lián)網(wǎng)資源提供者的利益,為了使搜素引擎與站長能夠達到雙贏,在抓取過程中雙方必須遵守一定的規(guī)范,以便于雙方的數(shù)據(jù)處理及對接。這種過程中遵守的規(guī)范也就是日常中我們所說的一些網(wǎng)絡協(xié)議。
以下簡單列舉:
http協(xié)議:超文本傳輸協(xié)議,是互聯(lián)網(wǎng)上應用最為廣泛的一種網(wǎng)絡協(xié)議,客戶端和服務器端請求和應答的標準??蛻舳艘话闱闆r是指終端用戶,服務器端即指網(wǎng)站。終端用戶通過瀏覽器、蜘蛛等向服務器指定端口發(fā)送http請求。發(fā)送http請求會返回對應的httpheader信息,可以看到包括是否成功、服務器類型、網(wǎng)頁最近更新時間等內容。
https協(xié)議:實際是加密版http,一種更加安全的數(shù)據(jù)傳輸協(xié)議。
UA屬性:UA即user-agent,是http協(xié)議中的一個屬性,代表了終端的身份,向服務器端表明我是誰來干嘛,進而服務器端可以根據(jù)不同的身份來做出不同的反饋結果。
robots協(xié)議:robots.txt是搜索引擎訪問一個網(wǎng)站時要訪問的第一個文件,用以來確定哪些是被允許抓取的哪些是被禁止抓取的。robots.txt必須放在網(wǎng)站根目錄下,且文件名要小寫。百度嚴格按照robots協(xié)議執(zhí)行,另外,同樣支持網(wǎng)頁內容中添加的名為robots的meta標 簽,index、follow、nofollow等指令。
Baiduspider抓取頻次原則及調整方法
Baiduspider根據(jù)上述網(wǎng)站設置的協(xié)議對站點頁面進行抓取,但是不可能做到對所有站點一視同仁,會綜合考慮站點實際情況確定一個抓取配額,每天定量抓取站點內容,即我們常說的抓取頻次。那么百度搜索引擎是根據(jù)什么指標來確定對一個網(wǎng)站的抓取頻次的呢,主要指標有四個:
1,網(wǎng)站更新頻率:更新快多來,更新慢少來,直接影響B(tài)aiduspider的來訪頻率
2,網(wǎng)站更新質量:更新頻率提高了,僅僅是吸引了Baiduspier的注意,Baiduspider對質量是有嚴格要求的,如果網(wǎng)站每天更新出的大量內容都被Baiduspider判定為低質頁面,依然沒有意義。
3,連通度:網(wǎng)站應該安全穩(wěn)定、對Baiduspider保持暢通,經(jīng)常給Baiduspider吃閉門羹可不是好事情
4,站點評價:百度搜索引擎對每個站點都會有一個評價,且這個評價會根據(jù)站點情況不斷變化,是百度搜索引擎對站點的一個基礎打分(絕非外界所說的百度權重),是百度內部一個非常機密的數(shù)據(jù)。站點評級從不獨立使用,會配合其它因子和閾值一起共同影響對網(wǎng)站的抓取和排序。
抓取頻次間接決定著網(wǎng)站有多少頁面有可能被建庫收錄,如此重要的數(shù)值如果不符合站長預期該如何調整呢?百度站長平臺提供了抓取頻次工具并已完成多次升級。該工具除了提供抓取統(tǒng)計數(shù)據(jù)外,還提供“頻次調整”功能,站長根據(jù)實際情況向百度站長平臺提出希望Baiduspider增加來訪或減少來訪的請求,工具會根據(jù)站長的意愿和實際情況進行調整。
造成Baiduspider抓取異常的原因
有一些網(wǎng)頁,內容優(yōu)質,用戶也可以正常訪問,但是Baiduspider卻無法正常訪問并抓取,造成搜索結果覆蓋率缺失,對百度搜索引擎對站點都是一種損失,百度把這種情況叫“抓取異?!?。對于大量內容無法正常抓取的網(wǎng)站,百度搜索引擎會認為網(wǎng)站存在用戶體驗上的缺陷,并降低對網(wǎng)站的評價,在抓取、索引、排序上都會受到一定程度的負面影響,最終影響到網(wǎng)站從百度獲取的流量。
下面向大家介紹一些常見的抓取異常原因:
1,服務器連接異常
服務器連接異常會有兩種情況:一種是站點不穩(wěn)定,Baiduspider嘗試連接您網(wǎng)站的服務器時出現(xiàn)暫時無法連接的情況;一種是Baiduspider一直無法連接上您網(wǎng)站的服務器。
造成服務器連接異常的原因通常是您的網(wǎng)站服務器過大,超負荷運轉。也有可能是您的網(wǎng)站運行不正常,請檢查網(wǎng)站的web服務器(如apache、iis)是否安裝且正常運行,并使用瀏覽器檢查主要頁面能否正常訪問。您的網(wǎng)站和主機還可能阻止了Baiduspider的訪問,您需要檢查網(wǎng)站和主機的防火墻。
2,網(wǎng)絡運營商異常:網(wǎng)絡運營商分電信和聯(lián)通兩種,Baiduspider通過電信或網(wǎng)通無法訪問您的網(wǎng)站。如果出現(xiàn)這種情況,您需要與網(wǎng)絡服務運營商進行聯(lián)系,或者購買擁有雙線服務的空間或者購買cdn服務。
3,DNS異常:當Baiduspider無法解析您網(wǎng)站的IP時,會出現(xiàn)DNS異常??赡苁悄木W(wǎng)站IP地址錯誤,或者域名服務商把Baiduspider封禁。請使用WHOIS或者host查詢自己網(wǎng)站IP地址是否正確且可解析,如果不正確或無法解析,請與域名注冊商聯(lián)系,更新您的IP地址。
4,IP封禁:IP封禁為:限制網(wǎng)絡的出口IP地址,禁止該IP段的使用者進行內容訪問,在這里特指封禁了BaiduspiderIP。當您的網(wǎng)站不希望Baiduspider訪問時,才需要該設置,如果您希望Baiduspider訪問您的網(wǎng)站,請檢查相關設置中是否誤添加了BaiduspiderIP。也有可能是您網(wǎng)站所在的空間服務商把百度IP進行了封禁,這時您需要聯(lián)系服務商更改設置。
5,UA封禁:UA即為用戶代理(User-Agent),服務器通過UA識別訪問者的身份。當網(wǎng)站針對指定UA的訪問,返回異常頁面(如403,500)或跳轉到其他頁面的情況,即為UA封禁。當您的網(wǎng)站不希望Baiduspider訪問時,才需要該設置,如果您希望Baiduspider訪問您的網(wǎng)站,useragent相關的設置中是否有BaiduspiderUA,并及時修改。
6,死鏈:頁面已經(jīng)無效,無法對用戶提供任何有價值信息的頁面就是死鏈接,包括協(xié)議死鏈和內容死鏈兩種形式:
協(xié)議死鏈:頁面的TCP協(xié)議狀態(tài)/HTTP協(xié)議狀態(tài)明確表示的死鏈,常見的如404、403、503狀態(tài)等。
內容死鏈:服務器返回狀態(tài)是正常的,但內容已經(jīng)變更為不存在、已刪除或需要權限等與原內容無關的信息頁面。
對于死鏈,我們建議站點使用協(xié)議死鏈,并通過百度站長平臺--死鏈工具向百度提交,以便百度更快地發(fā)現(xiàn)死鏈,減少死鏈對用戶以及搜索引擎造成的負面影響。
7,異常跳轉:將網(wǎng)絡請求重新指向其他位置即為跳轉。異常跳轉指的是以下幾種情況:
1)當前該頁面為無效頁面(內容已刪除、死鏈等),直接跳轉到前一目錄或者首頁,百度建議站長將該無效頁面的入口超鏈接刪除掉
2)跳轉到出錯或者無效頁面
注意:對于長時間跳轉到其他域名的情況,如網(wǎng)站更換域名,百度建議使用301跳轉協(xié)議進行設置。
8,其他異常:
1)針對百度refer的異常:網(wǎng)頁針對來自百度的refer返回不同于正常內容的行為。
2)針對百度ua的異常:網(wǎng)頁對百度UA返回不同于頁面原內容的行為。
3)JS跳轉異常:網(wǎng)頁加載了百度無法識別的JS跳轉代碼,使得用戶通過搜索結果進入頁面后發(fā)生了跳轉的情況。
4)壓力過大引起的偶然封禁:百度會根據(jù)站點的規(guī)模、訪問量等信息,自動設定一個合理的抓取壓力。但是在異常情況下,如壓力控制失常時,服務器會根據(jù)自身負荷進行保護性的偶然封禁。這種情況下,請在返回碼中返回503(其含義是“ServiceUnavailable”),這樣Baiduspider會過段時間再來嘗試抓取這個鏈接,如果網(wǎng)站已空閑,則會被成功抓取。
新鏈接重要程度判斷
好啦,上面我們說了影響B(tài)aiduspider正常抓取的原因,下面就要說說Baiduspider的一些判斷原則了。在建庫環(huán)節(jié)前,Baiduspide會對頁面進行初步內容分析和鏈接分析,通過內容分析決定該網(wǎng)頁是否需要建索引庫,通過鏈接分析發(fā)現(xiàn)更多網(wǎng)頁,再對更多網(wǎng)頁進行抓取——分析——是否建庫&發(fā)現(xiàn)新鏈接的流程。理論上,Baiduspider會將新頁面上所有能“看到”的鏈接都抓取回來,那么面對眾多新鏈接,Baiduspider根據(jù)什么判斷哪個更重要呢?兩方面:
第一,對用戶的價值:
1,內容獨特,百度搜索引擎喜歡unique的內容
2,主體突出,切不要出現(xiàn)網(wǎng)頁主體內容不突出而被搜索引擎誤判為空短頁面不抓取
3,內容豐富
4,廣告適當
第二,鏈接重要程度:
1,目錄層級——淺層優(yōu)先
2,鏈接在站內的受歡迎程度
百度優(yōu)先建重要庫的原則
Baiduspider抓了多少頁面并不是最重要的,重要的是有多少頁面被建索引庫,即我們常說的“建庫”。眾所周知,搜索引擎的索引庫是分層級的,優(yōu)質的網(wǎng)頁會被分配到重要索引庫,普通網(wǎng)頁會待在普通庫,再差一些的網(wǎng)頁會被分配到低級庫去當補充材料。目前60%的檢索需求只調用重要索引庫即可滿足,這也就解釋了為什么有些網(wǎng)站的收錄量超高流量卻一直不理想。
那么,哪些網(wǎng)頁可以進入優(yōu)質索引庫呢。其實總的原則就是一個:對用戶的價值。包括卻不僅于:
1,有時效性且有價值的頁面:在這里,時效性和價值是并列關系,缺一不可。有些站點為了產生時效性內容頁面做了大量采集工作,產生了一堆無價值面頁,也是百度不愿看到的.
2,內容優(yōu)質的專題頁面:專題頁面的內容不一定完全是原創(chuàng)的,即可以很好地把各方內容整合在一起,或者增加一些新鮮的內容,比如觀點和評論,給用戶更豐富全面的內容。
3,高價值原創(chuàng)內容頁面:百度把原創(chuàng)定義為花費一定成本、大量經(jīng)驗積累提取后形成的文章。千萬不要再問我們偽原創(chuàng)是不是原創(chuàng)。
4,重要個人頁面:這里僅舉一個例子,科比在新浪微博開戶了,需要他不經(jīng)常更新,但對于百度來說,它仍然是一個極重要的頁面。
哪些網(wǎng)頁無法建入索引庫
上述優(yōu)質網(wǎng)頁進了索引庫,那其實互聯(lián)網(wǎng)上大部分網(wǎng)站根本沒有被百度收錄。并非是百度沒有發(fā)現(xiàn)他們,而是在建庫前的篩選環(huán)節(jié)被過濾掉了。那怎樣的網(wǎng)頁在最初環(huán)節(jié)就被過濾掉了呢:
1, 重復內容的網(wǎng)頁:互聯(lián)網(wǎng)上已有的內容,百度必然沒有必要再收錄。
2, 主體內容空短的網(wǎng)頁
1)有些內容使用了百度spider無法解析的技術,如JS、AJAX等,雖然用戶訪問能看到豐富的內容,依然會被搜索引擎拋棄
2)加載速度過慢的網(wǎng)頁,也有可能被當作空短頁面處理,注意廣告加載時間算在網(wǎng)頁整體加載時間內。
3)很多主體不突出的網(wǎng)頁即使被抓取回來也會在這個環(huán)節(jié)被拋棄。
3, 部分作弊網(wǎng)頁
文章題目:聽創(chuàng)新互聯(lián)分享百度搜索引擎工作原理
新聞來源:http://www.rwnh.cn/news/25320.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信小程序、建站公司、云服務器、品牌網(wǎng)站設計、網(wǎng)站制作、外貿建站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容