清空記錄
歷史記錄
取消
清空記錄
歷史記錄
下圖是蜘蛛抓取系統(tǒng)的基本框架,包括鏈接存儲(chǔ)系統(tǒng)、鏈接選擇系統(tǒng)、 dns解析服務(wù)系統(tǒng)、抓取調(diào)度系統(tǒng)、網(wǎng)頁分析系統(tǒng)、鏈接提取系統(tǒng)、鏈接分析系統(tǒng)、網(wǎng)頁存儲(chǔ)系統(tǒng)。百度spider就是通過這個(gè)系統(tǒng)的配合來完成抓取網(wǎng)頁的工作。
百度spider的主要爬行策略類型
上圖看似簡單,但百度spider在爬行的過程中其實(shí)面對(duì)的是一個(gè)超級(jí)復(fù)雜的網(wǎng)絡(luò)環(huán)境。為了讓系統(tǒng)抓取盡可能多的有價(jià)值的資源,并保持系統(tǒng)與實(shí)際環(huán)境的頁面一致性,而不造成網(wǎng)站體驗(yàn)的壓力,會(huì)設(shè)計(jì)很多復(fù)雜的抓取策略。以下做簡單介紹:
1、抓取友好性
互聯(lián)網(wǎng)資源在數(shù)量級(jí)上是巨大的,這就要求捕獲系統(tǒng)在有限的硬件和帶寬資源下,盡可能比較快地利用帶寬,捕獲盡可能多的有價(jià)值的資源。這就引出了另一個(gè)問題,就是被抓取網(wǎng)站的帶寬消耗造成了訪問壓力,會(huì)直接影響到被抓取網(wǎng)站的正常用戶訪問行為。因此,在抓取過程中,需要調(diào)控抓取壓力,以達(dá)到在不影響網(wǎng)站正常用戶訪問的情況下,盡可能捕捉到有價(jià)值資源的目的。
通常,基本的壓力是基于ip的。這是因?yàn)槿绻腔谟蛎?,可能?huì)出現(xiàn)一個(gè)域名對(duì)應(yīng)多個(gè)ip(很多大網(wǎng)站)或者多個(gè)域名對(duì)應(yīng)同一個(gè)IP(小網(wǎng)站共享IP)的問題。在實(shí)踐中,壓力調(diào)節(jié)往往是根據(jù)ip和域名的各種情況來進(jìn)行的。同時(shí),站長平臺(tái)也推出了壓力反饋工具,站長可以手動(dòng)調(diào)整自己網(wǎng)站上的抓取壓力。這時(shí)候百度蜘蛛會(huì)根據(jù)站長要求優(yōu)先 爬行壓力調(diào)控。
同一個(gè)站點(diǎn)的抓取速度調(diào)控一般分為兩類:一是一段時(shí)間內(nèi)的抓取頻率;第二,捕捉一段時(shí)間內(nèi)的流量。同一站點(diǎn)在不同時(shí)間的爬行速度會(huì)有所不同。比如晚上天黑,風(fēng)大的時(shí)候可能更快。也要看具體的站點(diǎn)類型。主要思路是錯(cuò)開正常用戶高峰訪問量,不斷調(diào)整。對(duì)于不同的站點(diǎn),也需要不同的抓取速度。
2、常用抓取返回碼原理圖
簡單介紹一下百度支持的幾個(gè)返回碼:
1)常見的404**“NOT FOUND”,表示網(wǎng)頁已經(jīng)過期,通常會(huì)在庫中刪除。同時(shí),如果spider在短期內(nèi)再次找到這個(gè)url,它將不會(huì)爬行;
2)503**“服務(wù)不可用”,表示網(wǎng)頁暫時(shí)無法訪問。通常網(wǎng)站暫時(shí)關(guān)閉,帶寬有限。對(duì)于網(wǎng)頁返回的503狀態(tài)碼,百度蜘蛛不會(huì)直接刪除這個(gè)網(wǎng)址,會(huì)在短時(shí)間內(nèi)多次訪問。如果網(wǎng)頁已經(jīng)恢復(fù),則正常抓取;如果你繼續(xù)返回503,這個(gè)網(wǎng)址仍然會(huì)被認(rèn)為是一個(gè)無效的鏈接,并從庫中刪除。
3)403**“禁止”,認(rèn)為網(wǎng)頁目前禁止訪問。如果是新的url,spider暫時(shí)不會(huì)抓取,短時(shí)間內(nèi)也會(huì)訪問幾次;如果是包含的網(wǎng)址,不會(huì)直接刪除,短時(shí)間內(nèi)會(huì)被訪問幾次。網(wǎng)頁正常訪問的,正常抓??;如果訪問仍然被禁止,該網(wǎng)址也將被視為無效鏈接,并從庫中刪除。
4)301**“長久移動(dòng)”,這意味著網(wǎng)頁被重定向到一個(gè)新的網(wǎng)址。如果是站點(diǎn)遷移、域名替換、站點(diǎn)改版,建議使用站長平臺(tái)的301返回碼和網(wǎng)站改版工具,減少改版造成的網(wǎng)站流量損失。
3、多網(wǎng)址重定向識(shí)別
由于各種原因,互聯(lián)網(wǎng)上的一些網(wǎng)頁具有網(wǎng)址重定向狀態(tài)。為了正常抓取這些資源,蜘蛛需要識(shí)別和判斷網(wǎng)址重定向,防止作bi。重定向可以分為三類:http 30x重定向、元刷新重定向和js重定向。此外,百度還支持Canonical標(biāo)簽,實(shí)際上可以認(rèn)為是間接重定向。
4、抓取優(yōu)先級(jí)分配
由于互聯(lián)網(wǎng)資源規(guī)模的巨大而較快的變化,搜索引擎幾乎不可能捕捉到所有的資源并合理更新以保持一致性。因此,爬行系統(tǒng)需要設(shè)計(jì)一套合理的爬行優(yōu)先級(jí)分配策略。主要包括:深度優(yōu)先遍歷策略、寬度優(yōu)先遍歷策略、 pr優(yōu)先級(jí)策略、反鏈策略、社交分享引導(dǎo)策略等等。每種策略各有利弊。在實(shí)踐中,多種策略經(jīng)常結(jié)合使用,以達(dá)到好的的捕捉效果。
5、過濾重復(fù)的網(wǎng)址
蜘蛛在抓取過程中需要判斷一個(gè)頁面是否被抓取過。如果它還沒有被抓取,它將抓取網(wǎng)頁并將其放入抓取的網(wǎng)址集中。判斷是否被抓取主要的是比較快的搜索和比較,還涉及到url規(guī)范化識(shí)別。例如,一個(gè)url包含大量無效參數(shù),實(shí)際上是同一個(gè)頁面,將被視為同一個(gè)url。
6、暗網(wǎng)數(shù)據(jù)采集
網(wǎng)上有很多搜索引擎暫時(shí)捕捉不到的數(shù)據(jù),叫做暗網(wǎng)數(shù)據(jù)。一方面,網(wǎng)絡(luò)數(shù)據(jù)庫中存在許多網(wǎng)站的大量數(shù)據(jù),蜘蛛很難通過抓取網(wǎng)頁獲得完整的內(nèi)容;另一方面,由于網(wǎng)絡(luò)環(huán)境、,網(wǎng)站本身不符合規(guī)范、等等,也會(huì)導(dǎo)致搜索引擎無法抓取。目前,從黑暗網(wǎng)絡(luò)獲取數(shù)據(jù)的主要方式仍然是通過開放平臺(tái)提交數(shù)據(jù),如百度站長平臺(tái)和百度開放平臺(tái)。
7、搶防作bi
蜘蛛在爬行過程中經(jīng)常會(huì)遇到所謂的黑洞或者大量的低質(zhì)量頁面,這就要求在爬行系統(tǒng)中要設(shè)計(jì)一個(gè)完善的防作bi系統(tǒng)。例如,分析url特性、,分析頁面大小和內(nèi)容、,分析站點(diǎn)大小和相應(yīng)的抓取大小,等等。
百度spider爬行中涉及的網(wǎng)絡(luò)協(xié)議
剛剛提到百度搜索引擎會(huì)設(shè)計(jì)復(fù)雜的抓取策略。事實(shí)上,搜索引擎和資源提供者之間存在一種相互依賴的關(guān)系,其中搜索引擎需要站長為其提供資源,否則搜索引擎無法滿足用戶的檢索需求;網(wǎng)站管理員需要通過搜索引擎推廣他們的內(nèi)容,以獲得更多的受眾。蜘蛛爬行系統(tǒng)直接關(guān)系到互聯(lián)網(wǎng)資源提供商的利益。為了實(shí)現(xiàn)搜索引擎和站長的雙贏,雙方在爬行過程中都必須遵守一定的規(guī)范,以方便雙方的數(shù)據(jù)處理和對(duì)接。在這個(gè)過程中觀察到的標(biāo)準(zhǔn)也是我們?nèi)粘U{(diào)用的一些網(wǎng)絡(luò)協(xié)議。
相關(guān)新聞
復(fù)制成功
×