您好,登錄后才能下訂單哦!
小編給大家分享一下Python爬蟲程序架構和運行的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
1 前言
Python開發(fā)網絡爬蟲獲取網頁數(shù)據(jù)的基本流程為:
發(fā)起請求
通過URL向服務器發(fā)起request請求,請求可以包含額外的header信息。
獲取響應內容
服務器正常響應,將會收到一個response,即為所請求的網頁內容,或許包含HTML,Json字符串或者二進制的數(shù)據(jù)(視頻、圖片)等。
解析內容
如果是HTML代碼,則可以使用網頁解析器進行解析,如果是Json數(shù)據(jù),則可以轉換成Json對象進行解析,如果是二進制的數(shù)據(jù),則可以保存到文件做進一步處理。
保存數(shù)據(jù)
可以保存到本地文件,也可以保存到數(shù)據(jù)庫(MySQL,Redis,MongoDB等)。
2 爬蟲程序架構及運行流程
網絡爬蟲程序框架主要包括以下五大模塊:
爬蟲調度器
URL管理器
HTML下載器
HTML解析器
數(shù)據(jù)存儲器
五大模塊功能如下所示:
爬蟲調度器:主要負責統(tǒng)籌其它四個模塊的協(xié)調工作。
URL管理器:負責管理URL鏈接,維護已經爬取的URL集合和未爬取的URL集合,提供獲取新URL鏈接的接口。
HTML下載器:用于從URL管理器中獲取未爬取的URL鏈接并下載HTML網頁。
HTML解析器:用于從HTML下載器中獲取已經下載的HTML網頁,并從中解析出新的URL鏈接交給URL管理器,解析出有效數(shù)據(jù)交給數(shù)據(jù)存儲器。
數(shù)據(jù)存儲器:用于將HTML解析器解析出來的數(shù)據(jù)通過文件或者數(shù)據(jù)庫的形式存儲起來。
網絡爬蟲程序框架的動態(tài)運行流程如下所示:
看完了這篇文章,相信你對“Python爬蟲程序架構和運行的示例分析”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。