- 實戰Python網絡爬蟲
- 黃永祥
- 673字
- 2019-11-22 18:44:31
1.3 爬蟲的原理
通用網絡爬蟲的實現原理及過程如圖1-1所示。

圖1-1 通用爬蟲實現的原理及過程
通用網絡爬蟲的實現原理:
(1)獲取初始的URL。初始的URL地址可以人為地指定,也可以由用戶指定的某個或某幾個初始爬取網頁決定。
(2)根據初始的URL爬取頁面并獲得新的URL。獲得初始的URL地址之后,先爬取當前URL地址中的網頁信息,然后解析網頁信息內容,將網頁存儲到原始數據庫中,并且在當前獲得的網頁信息里發現新的URL地址,存放于一個URL隊列里面。
(3)從URL隊列中讀取新的URL,從而獲得新的網頁信息,同時在新網頁中獲取新URL,并重復上述的爬取過程。
(4)滿足爬蟲系統設置的停止條件時,停止爬取。在編寫爬蟲的時候,一般會設置相應的停止條件,爬蟲則會在停止條件滿足時停止爬取。如果沒有設置停止條件,爬蟲就會一直爬取下去,一直到無法獲取新的URL地址為止。
聚焦網絡爬蟲的執行原理和過程與通用爬蟲大致相同,在通用爬蟲的基礎上增加兩個步驟:定義爬取目標和篩選過濾URL,原理如圖1-2所示。

圖1-2 聚焦網絡爬蟲的原理
聚焦網絡爬蟲的實現原理:
(1)制定爬取方案。在聚焦網絡爬蟲中,首先要依據需求定義聚焦網絡爬蟲爬取的目標以及整體的爬取方案。
(2)設定初始的URL。
(3)根據初始的URL抓取頁面,并獲得新的URL。
(4)從新的URL中過濾掉與需求無關的URL,將過濾后的URL放到URL隊列中。
(5)在URL隊列中,根據搜索算法確定URL的優先級,并確定下一步要爬取的URL地址。因為聚焦網絡爬蟲具有目的性,所以URL的爬取順序不同會導致爬蟲的執行效率不同。
(6)得到新的URL,將新的URL重現上述爬取過程。
(7)滿足系統中設置的停止條件或無法獲取新的URL地址時,停止爬行。
推薦閱讀
- CockroachDB權威指南
- Access 數據庫應用教程
- Django開發從入門到實踐
- Apache Karaf Cookbook
- 用戶體驗增長:數字化·智能化·綠色化
- Building RESTful Python Web Services
- SQL Server從入門到精通(第3版)
- C語言程序設計教程
- BeagleBone Black Cookbook
- jQuery Mobile移動應用開發實戰(第3版)
- Getting Started with LLVM Core Libraries
- PLC應用技術(三菱FX2N系列)
- Learning Continuous Integration with TeamCity
- 貫通Tomcat開發
- Beginning C# 7 Hands-On:The Core Language