小編給大家分享一下Python爬蟲程序架構(gòu)和運(yùn)行的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
1 前言
Python開發(fā)網(wǎng)絡(luò)爬蟲獲取網(wǎng)頁數(shù)據(jù)的基本流程為:
發(fā)起請求
通過URL向服務(wù)器發(fā)起request請求,請求可以包含額外的header信息。
獲取響應(yīng)內(nèi)容
服務(wù)器正常響應(yīng),將會收到一個(gè)response,即為所請求的網(wǎng)頁內(nèi)容,或許包含HTML,Json字符串或者二進(jìn)制的數(shù)據(jù)(視頻、圖片)等。
解析內(nèi)容
如果是HTML代碼,則可以使用網(wǎng)頁解析器進(jìn)行解析,如果是Json數(shù)據(jù),則可以轉(zhuǎn)換成Json對象進(jìn)行解析,如果是二進(jìn)制的數(shù)據(jù),則可以保存到文件做進(jìn)一步處理。
保存數(shù)據(jù)
可以保存到本地文件,也可以保存到數(shù)據(jù)庫(MySQL,Redis,MongoDB等)。
2 爬蟲程序架構(gòu)及運(yùn)行流程
網(wǎng)絡(luò)爬蟲程序框架主要包括以下五大模塊:
爬蟲調(diào)度器
URL管理器
HTML下載器
HTML解析器
數(shù)據(jù)存儲器
五大模塊功能如下所示:
爬蟲調(diào)度器:主要負(fù)責(zé)統(tǒng)籌其它四個(gè)模塊的協(xié)調(diào)工作。
URL管理器:負(fù)責(zé)管理URL鏈接,維護(hù)已經(jīng)爬取的URL集合和未爬取的URL集合,提供獲取新URL鏈接的接口。
HTML下載器:用于從URL管理器中獲取未爬取的URL鏈接并下載HTML網(wǎng)頁。
HTML解析器:用于從HTML下載器中獲取已經(jīng)下載的HTML網(wǎng)頁,并從中解析出新的URL鏈接交給URL管理器,解析出有效數(shù)據(jù)交給數(shù)據(jù)存儲器。
數(shù)據(jù)存儲器:用于將HTML解析器解析出來的數(shù)據(jù)通過文件或者數(shù)據(jù)庫的形式存儲起來。
網(wǎng)絡(luò)爬蟲程序框架的動態(tài)運(yùn)行流程如下所示:
看完了這篇文章,相信你對“Python爬蟲程序架構(gòu)和運(yùn)行的示例分析”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
分享文章:Python爬蟲程序架構(gòu)和運(yùn)行的示例分析-創(chuàng)新互聯(lián)
文章路徑:http://jinyejixie.com/article14/ddsdde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、網(wǎng)站內(nèi)鏈、網(wǎng)頁設(shè)計(jì)公司、Google、營銷型網(wǎng)站建設(shè)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容