Josiah的小園子

Python開發(fā)簡單爬蟲(一)

一 、簡單爬蟲架構(gòu):

爬蟲調(diào)度端:啟動爬蟲,停止爬蟲,監(jiān)視爬蟲運行情況
URL管理器:對將要爬取的和已經(jīng)爬取過的URL進行管理;可取出帶爬取的URL,將其傳送給“網(wǎng)頁下載器”
網(wǎng)頁下載器:將URL指定的網(wǎng)頁下載,存儲成一個字符串,在傳送給“網(wǎng)頁解析器”
網(wǎng)頁解析器:解析網(wǎng)頁可解析出 ①有價值的數(shù)據(jù) ②另一方面,每個網(wǎng)頁都包含有指向其他網(wǎng)頁的URL,解析出來后可補充進“URL管理器”,不斷循環(huán)。

二、簡單爬蟲架構(gòu)的動態(tài)運行流程

電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

 

三、爬蟲URL管理

URL管理器:管理待抓取URL集合和已抓取URL集合 防止重復(fù)抓取。

url: 添加新url到爬取集合中, 判斷待添加url是否在容器中, 判斷是否還有待爬取的url, 獲取待爬取url, 將url從待爬移動到已爬

電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

四、爬蟲URL管理器的實現(xiàn)方式

URL管理器的三種實現(xiàn)方式:內(nèi)存、關(guān)系數(shù)據(jù)庫、緩存數(shù)據(jù)庫

電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

存放在內(nèi)存中是利用set()集合,可以去除重復(fù)元素,利用MySQL里的is_crawled參數(shù)是用來標(biāo)記已爬取還是未爬取,redis數(shù)據(jù)庫同樣利用set集合。

五、爬蟲網(wǎng)頁下載器

網(wǎng)友評論