首頁技術(shù)文章正文

干貨,Python通用網(wǎng)絡(luò)爬蟲的工作原理和流程

更新時間:2023-10-13 來源:黑馬程序員 瀏覽量:

通用網(wǎng)絡(luò)爬蟲的采集目標(biāo)是整個互聯(lián)網(wǎng)上的所有網(wǎng)頁,它會先從一個或多個初始URL開始,獲取初始URL對應(yīng)的網(wǎng)頁數(shù)據(jù),并不斷從該網(wǎng)頁數(shù)據(jù)中抽取新的URL放到隊列中,直至滿足一定的條件后停止。

通用網(wǎng)絡(luò)爬蟲的工作原理如圖1所示。

1697184679699_通用網(wǎng)絡(luò)爬蟲工作原理.png

通用網(wǎng)絡(luò)爬蟲的工作原理

關(guān)于圖1中各環(huán)節(jié)的介紹如下。

(1)獲取初始URL。初始URL是精心挑選的一個或多個URL,也稱種子URL,它既可以由用戶指定,也可以由待采集的初始網(wǎng)頁指定。

(2)有了初始URL之后,需要根據(jù)初始URL抓取對應(yīng)的網(wǎng)頁,之后將該網(wǎng)頁存儲到原始網(wǎng)頁數(shù)據(jù)庫中,并且在抓取網(wǎng)頁的同時對網(wǎng)頁內(nèi)容進(jìn)行解析,從中提取出新URL。

(3)有了新URL之后,需要將新URL放入URL隊列中。

(4)從URL隊列中讀取新URL,以準(zhǔn)備根據(jù)URL抓取下一個網(wǎng)頁。

(5)若網(wǎng)絡(luò)爬蟲滿足設(shè)置的停止條件,則停止采集;若網(wǎng)絡(luò)爬蟲沒有滿足設(shè)置的停止條件,則繼續(xù)根據(jù)新URL抓取對應(yīng)的網(wǎng)頁,并重復(fù)步驟(2)~步驟(5)。需要注意的是,如果沒有設(shè)置停止條件,網(wǎng)絡(luò)爬蟲會一直采集下去,直到?jīng)]有可以采集的新URL為止。

分享到:
在線咨詢 我要報名
和我們在線交談!