官术网_书友最值得收藏!

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地址時,停止爬行。

主站蜘蛛池模板: 山阴县| 泽普县| 惠东县| 乐都县| 天门市| 崇信县| 阿坝县| 尚志市| 洞口县| 民和| 龙泉市| 吉首市| 怀仁县| 牙克石市| 青神县| 东丽区| 五台县| 吉林省| 宁津县| 项城市| 蒙阴县| 巴林左旗| 抚顺市| 凤山市| 讷河市| 台东县| 邻水| 休宁县| 常州市| 保定市| 武威市| 新余市| 综艺| 长宁县| 开原市| 阆中市| 永清县| 罗田县| 安吉县| 孟州市| 连山|