通用爬蟲架構
上述是一個通用爬蟲的整體流程,如果從更加宏觀的角度考慮,處于動態抓取過程中的爬蟲和互聯網所有網頁之間的關系,可以概括為以下 5 個部分:
已下載網頁結合:爬蟲已經從互聯網下載到本地進行索引的網頁集合。
已過期網頁結合:由于網頁數量龐大,爬蟲完整抓取一輪需要較長時間,在抓取過程中,很多已下載的網頁可能已經更新了,從而導致過期。之所以如此,是因為互聯網網頁處于不斷的動態變化過程中,所以易產生本地網頁內容和真實互聯網不一致的情況。
待下載網頁集合:處于待抓取URL隊列中的網頁,這些網頁即將被爬蟲下載。
可知網頁集合:這些網頁還沒有被爬蟲下載,也沒有出現在待抓取URL隊列中,通過已經抓取的網頁或者在待抓取URL隊列中的網頁,總是能夠通過鏈接關系發現它們,稍晚時候會被爬蟲抓取并索引。
未知網頁集合:有些網頁對于爬蟲是無法抓取到的,這部分網頁構成了未知網頁結合。事實上,這部分網頁所占的比例很高。
互聯網頁面劃分
從理解爬蟲的角度看,對互聯網網頁給出如上劃分有助于深入理解搜索引擎爬蟲所面臨的主要任務和挑戰。絕大多數爬蟲系統遵循上文的流程,但是并非所有的爬蟲系統都如此一致。根據具體應用的不同,爬蟲系統在許多方面存在差異,大體而已,可以將爬蟲系統分為如下 3 種類型:
1.批量型爬蟲:批量型爬蟲有比較明確的抓取范圍和目標,當爬蟲達到這個設定的目標后,即停止抓取過程。
至于具體目標可能各異,也許是設定抓取一定數量的網頁即可,也許是設定抓取的時間等,各不一樣。
2.增量型爬蟲:增量型爬蟲與批量型爬蟲不同,會保持持續不斷的抓取,對于抓取到的網頁,要定期更新。
因為互聯網網頁處于不斷變化中,新增網頁、網頁被刪除或者網頁內容更改都很常見,而增量型爬蟲需要及時反映這種變化,所以處于持續不斷的抓取過程中,不是在抓取新網頁,就是在更新已有網頁。通用的商業搜索引擎爬蟲基本都屬此類。
3.垂直型爬蟲:垂直型爬蟲關注特定主題內容或者屬于特定行業的網頁,比如對于健康網站來說,只需要從互聯網頁面里找到與健康相關的頁面內容即可,其他行業的內容不在考慮范圍。
垂直型爬蟲一個較大的特點和難點就是:如何識別網頁內容是否屬于指定行業或主題。
從節省系統資源的角度來講,不可能把所有互聯網頁面下載之后在進行篩選,這樣會造成資源過度浪費,往往需要爬蟲在抓取階段就能夠動態識別某個網址是否與主題相關,并盡量不去抓取無關頁面,以達到節省資源的目的。垂直搜索網站或者垂直行業網站往往需要此種類型的爬蟲。
非常感謝您有耐心的讀完商企云建站公司的這篇文章:"網站seo優化了解入門爬蟲技術原理二",僅為提供更多信息供用戶參考使用或為學習交流的方便。我們公司不僅提供:網站建設、網站制作、seo網站優化、網站推廣、APP開發、快速排名、網頁設計、建網站等服務,而且利用互聯網營銷手法,多平臺,多樣化進行品牌內容鋪設,營造企業正面形象,誠摯為您服務,歡迎您的到來。