Baiduspider抓取過(guò)程中的策略
spider在抓取過(guò)程中面對著(zhù)復雜的網(wǎng)絡(luò )環(huán)境,為了使系統可以抓取到盡可能多的有價(jià)值資源并保持系統及實(shí)際環(huán)境中頁(yè)面的一致性同時(shí)不給網(wǎng)站體驗造成壓力,會(huì )設計多種復雜的抓取策略。以下簡(jiǎn)單介紹一下抓取過(guò)程中涉及到的主要策略類(lèi)型:
1、抓取友好性:抓取壓力調配降低對網(wǎng)站的訪(fǎng)問(wèn)壓力
2、常用抓取返回碼示意
3、多種url重定向的識別
4、抓取優(yōu)先級調配
5、重復url的過(guò)濾
6、暗網(wǎng)數據的獲取
7、抓取反作弊
8、提高抓取效率,高效利用帶寬
1、抓取友好性
互聯(lián)網(wǎng)資源龐大的數量級,這就要求抓取系統盡可能的高效利用帶寬,在有限的硬件和帶寬資源下盡可能多的抓取到有價(jià)值資源。這就造成了另一個(gè)問(wèn)題,耗費被抓網(wǎng)站的帶寬造成訪(fǎng)問(wèn)壓力,如果程度過(guò)大將直接影響被抓網(wǎng)站的正常用戶(hù)訪(fǎng)問(wèn)行為。因此,在抓取過(guò)程中就要進(jìn)行一定的抓取壓力控制,達到既不影響網(wǎng)站的正常用戶(hù)訪(fǎng)問(wèn)又能盡量多的抓取到有價(jià)值資源的目的。
通常情況下,最基本的是基于ip的壓力控制。這是因為如果基于域名,可能存在一個(gè)域名對多個(gè)ip(很多大網(wǎng)站)或多個(gè)域名對應同一個(gè)ip(小網(wǎng)站共享ip)的問(wèn)題。實(shí)際中,往往根據ip及域名的多種條件進(jìn)行壓力調配控制。同時(shí),站長(cháng)平臺也推出了壓力反饋工具,站長(cháng)可以人工調配對自己網(wǎng)站的抓取壓力,這時(shí)百度spider將優(yōu)先按照站長(cháng)的要求進(jìn)行抓取壓力控制。
對同一個(gè)站點(diǎn)的抓取速度控制一般分為兩類(lèi):其一,一段時(shí)間內的抓取頻率;其二,一段時(shí)間內的抓取流量。同一站點(diǎn)不同的時(shí)間抓取速度也會(huì )不同,例如夜深人靜月黑風(fēng)高時(shí)候抓取的可能就會(huì )快一些,也視具體站點(diǎn)類(lèi)型而定,主要思想是錯開(kāi)正常用戶(hù)訪(fǎng)問(wèn)高峰,不斷的調整。對于不同站點(diǎn),也需要不同的抓取速度。
2、常用抓取返回碼示意
簡(jiǎn)單介紹幾種百度支持的返回碼:
1) 最常見(jiàn)的404代表“NOT FOUND”,認為網(wǎng)頁(yè)已經(jīng)失效,通常將在庫中刪除,同時(shí)短期內如果spider再次發(fā)現這條url也不會(huì )抓??;
2) 503代表“Service Unavailable”,認為網(wǎng)頁(yè)臨時(shí)不可訪(fǎng)問(wèn),通常網(wǎng)站臨時(shí)關(guān)閉,帶寬有限等會(huì )產(chǎn)生這種情況。對于網(wǎng)頁(yè)返回503狀態(tài)碼,百度spider不會(huì )把這條url直接刪除,同時(shí)短期內將會(huì )反復訪(fǎng)問(wèn)幾次,如果網(wǎng)頁(yè)已恢復,則正常抓??;如果繼續返回503,那么這條url仍會(huì )被認為是失效鏈接,從庫中刪除。
3) 403代表“Forbidden”,認為網(wǎng)頁(yè)目前禁止訪(fǎng)問(wèn)。如果是新url,spider暫時(shí)不抓取,短期內同樣會(huì )反復訪(fǎng)問(wèn)幾次;如果是已收錄url,不會(huì )直接刪除,短期內同樣反復訪(fǎng)問(wèn)幾次。如果網(wǎng)頁(yè)正常訪(fǎng)問(wèn),則正常抓??;如果仍然禁止訪(fǎng)問(wèn),那么這條url也會(huì )被認為是失效鏈接,從庫中刪除。
4)301 代表是“Moved Permanently”,認為網(wǎng)頁(yè)重定向至新url。當遇到站點(diǎn)遷移、域名更換、站點(diǎn)改版的情況時(shí),我們推薦使用301返回碼,同時(shí)使用站長(cháng)平臺網(wǎng)站改版工具,以減少改版對網(wǎng)站流量造成的損失。西安網(wǎng)站建設推薦閱讀>>> 百度搜索引擎工作原理-抓取、過(guò)濾、建立索引和輸出結果,
3、多種url重定向的識別
互聯(lián)網(wǎng)中一部分網(wǎng)頁(yè)因為各種各樣的原因存在url重定向狀態(tài),為了對這部分資源正常抓取,就要求spider對url重定向進(jìn)行識別判斷,同時(shí)防止作弊行為。重定向可分為三類(lèi):http 30x重定向、meta refresh重定向和js重定向。另外,百度也支持Canonical標簽,在效果上可以認為也是一種間接的重定向。
4、抓取優(yōu)先級調配
由于互聯(lián)網(wǎng)資源規模的巨大以及迅速的變化,對于搜索引擎來(lái)說(shuō)全部抓取到并合理的更新保持一致性幾乎是不可能的事情,因此這就要求抓取系統設計一套合理的抓取優(yōu)先級調配策略。主要包括:深度優(yōu)先遍歷策略、寬度優(yōu)先遍歷策略、pr優(yōu)先策略、反鏈策略、社會(huì )化分享指導策略等等。每個(gè)策略各有優(yōu)劣,在實(shí)際情況中往往是多種策略結合使用以達到最優(yōu)的抓取效果。
5、重復url的過(guò)濾
spider在抓取過(guò)程中需要判斷一個(gè)頁(yè)面是否已經(jīng)抓取過(guò)了,如果還沒(méi)有抓取再進(jìn)行抓取網(wǎng)頁(yè)的行為并放在已抓取網(wǎng)址集合中。判斷是否已經(jīng)抓取其中涉及到最核心的是快速查找并對比,同時(shí)涉及到url歸一化識別,例如一個(gè)url中包含大量無(wú)效參數而實(shí)際是同一個(gè)頁(yè)面,這將視為同一個(gè)url來(lái)對待。
6、暗網(wǎng)數據的獲取
互聯(lián)網(wǎng)中存在著(zhù)大量的搜索引擎暫時(shí)無(wú)法抓取到的數據,被稱(chēng)為暗網(wǎng)數據。一方面,很多網(wǎng)站的大量數據是存在于網(wǎng)絡(luò )數據庫中,spider難以采用抓取網(wǎng)頁(yè)的方式獲得完整內容;另一方面,由于網(wǎng)絡(luò )環(huán)境、網(wǎng)站本身不符合規范、孤島等等問(wèn)題,也會(huì )造成搜索引擎無(wú)法抓取。目前來(lái)說(shuō),對于暗網(wǎng)數據的獲取主要思路仍然是通過(guò)開(kāi)放平臺采用數據提交的方式來(lái)解決,例如“百度站長(cháng)平臺”“百度開(kāi)放平臺”等等。
7、抓取反作弊
spider在抓取過(guò)程中往往會(huì )遇到所謂抓取黑洞或者面臨大量低質(zhì)量頁(yè)面的困擾,這就要求抓取系統中同樣需要設計一套完善的抓取反作弊系統。例如分析url特征、分析頁(yè)面大小及內容、分析站點(diǎn)規模對應抓取規模等等。
相關(guān)文章:
-
搜索引擎的工作的過(guò)程非常復雜,而簡(jiǎn)單的講搜索引擎的工作過(guò)程大體可以分成三個(gè)階段。 爬行和抓?。核阉饕嬷┲胪ㄟ^(guò)跟蹤鏈接訪(fǎng)問(wèn)頁(yè)面,獲取頁(yè)面HTML代碼存入數據庫。 預處理:搜索贏(yíng)...
-
搜索引擎,通常指的是收集了因特網(wǎng)上幾千萬(wàn)到幾十億個(gè)網(wǎng)頁(yè)并對網(wǎng)頁(yè)中的每一個(gè)詞(即關(guān)鍵詞)進(jìn)行索引,建立索引數據庫的全文搜索引擎。當用戶(hù)查找某個(gè)關(guān)鍵詞的時(shí)候,所有在頁(yè)面內容...
-
從輸入關(guān)鍵詞,到百度給出搜索結果的過(guò)程,往往僅需幾毫秒即可完成。百度是如何在浩如煙海的互聯(lián)網(wǎng)資源中,以如此之快的速度將您的網(wǎng)站內容展現給用戶(hù)?這背后蘊藏著(zhù)什么樣的工作流...
-
百度站長(cháng)平臺Lee發(fā)布文章介紹了搜索引擎索引系統的大概工作流程。主要包括:Query串切詞分詞,查出含每個(gè)term的文檔集合,求交,網(wǎng)站過(guò)濾,按需進(jìn)行最終排序。,西安網(wǎng)站建設推薦閱讀 百度...
-
眾所周知,搜索引擎的主要工作過(guò)程包括:抓取、存儲、頁(yè)面分析、索引、檢索等幾個(gè)主要過(guò)程。過(guò)去幾周給大家介紹了抓取相關(guān)的簡(jiǎn)要過(guò)程。今天簡(jiǎn)要介紹一下索引系統,以?xún)|為單位的網(wǎng)頁(yè)...
-
先上圖來(lái)簡(jiǎn)單看下搜索引擎的三板斧:數據搜集預處理【索引】排名。 數據搜集 即數據的搜集階段,將網(wǎng)頁(yè)從浩如瀚海的互聯(lián)網(wǎng)世界搜集到自己的數據庫中進(jìn)行存儲。 1、抓取維護策略 面對大...
-
站長(cháng)朋友們,今后定期都將在這里跟大家分享一些有關(guān)搜索引擎工作原理及網(wǎng)站運營(yíng)相關(guān)的內容,今天先簡(jiǎn)單介紹一下關(guān)于搜索引擎抓取系統中有關(guān)抓取系統基本框架、抓取中涉及的網(wǎng)絡(luò )協(xié)議...
-
從輸入關(guān)鍵詞,到百度給出搜索結果的過(guò)程,往往僅需幾毫秒即可完成。百度是如何在浩如煙海的互聯(lián)網(wǎng)資源中,以如此之快的速度將您的網(wǎng)站內容展現給用戶(hù)?這背后蘊藏著(zhù)什么樣的工作流...