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)運行流程

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

 

三、爬蟲URL管理

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

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

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

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

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

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

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

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

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設計培訓,網(wǎng)站建設培訓學習是年輕人改變自己的最好方式