中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python爬蟲可以使用哪些框架

發布時間:2020-11-21 11:24:40 來源:億速云 閱讀:146 作者:小新 欄目:編程語言

了解python爬蟲可以使用哪些框架?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

python爬蟲框架概述

爬蟲框架中比較好用的是 Scrapy 和PySpider。pyspider上手更簡單,操作更加簡便,因為它增加了 WEB 界面,寫爬蟲迅速,集成了phantomjs,可以用來抓取js渲染的頁面。Scrapy自定義程度高,比 PySpider更底層一些,適合學習研究,需要學習的相關知識多,不過自己拿來研究分布式和多線程等等是非常合適的。

PySpider

PySpider是binux做的一個爬蟲架構的開源化實現。主要的功能需求是:

抓取、更新調度多站點的特定的頁面

需要對頁面進行結構化信息提取

靈活可擴展,穩定可監控

pyspider的設計基礎是:以python腳本驅動的抓取環模型爬蟲

通過python腳本進行結構化信息的提取,follow鏈接調度抓取控制,實現最大的靈活性

通過web化的腳本編寫、調試環境。web展現調度狀態

抓取環模型成熟穩定,模塊間相互獨立,通過消息隊列連接,從單進程到多機分布式靈活拓展

pyspider的架構主要分為 scheduler(調度器), fetcher(抓取器), processor(腳本執行):

各個組件間使用消息隊列連接,除了scheduler是單點的,fetcher 和 processor 都是可以多實例分布式部署的。 scheduler 負責整體的調度控制

任務由 scheduler 發起調度,fetcher 抓取網頁內容, processor 執行預先編寫的python腳本,輸出結果或產生新的提鏈任務(發往 scheduler),形成閉環。

每個腳本可以靈活使用各種python庫對頁面進行解析,使用框架API控制下一步抓取動作,通過設置回調控制解析動作。

Scrapy

Scrapy是一個為了爬取網站數據,提取結構性數據而編寫的應用框架。 可以應用在包括數據挖掘,信息處理或存儲歷史數據等一系列的程序中。

其最初是為了頁面抓取 (更確切來說, 網絡抓取 )所設計的, 也可以應用在獲取API所返回的數據(例如 Amazon Associates Web Services ) 或者通用的網絡爬蟲。Scrapy用途廣泛,可以用于數據挖掘、監測和自動化測試

Scrapy主要包括了以下組件:

引擎(Scrapy): 用來處理整個系統的數據流處理, 觸發事務(框架核心)

調度器(Scheduler): 用來接受引擎發過來的請求, 壓入隊列中, 并在引擎再次請求的時候返回. 可以想像成一個URL(抓取網頁的網址或者說是鏈接)的優先隊列, 由它來決定下一個要抓取的網址是什么, 同時去除重復的網址

下載器(Downloader): 用于下載網頁內容, 并將網頁內容返回給蜘蛛(Scrapy下載器是建立在twisted這個高效的異步模型上的)

爬蟲(Spiders): 爬蟲是主要干活的, 用于從特定的網頁中提取自己需要的信息, 即所謂的實體(Item)。用戶也可以從中提取出鏈接,讓Scrapy繼續抓取下一個頁面

項目管道(Pipeline): 負責處理爬蟲從網頁中抽取的實體,主要的功能是持久化實體、驗證實體的有效性、清除不需要的信息。當頁面被爬蟲解析后,將被發送到項目管道,并經過幾個特定的次序處理數據。

下載器中間件(Downloader Middlewares): 位于Scrapy引擎和下載器之間的框架,主要是處理Scrapy引擎與下載器之間的請求及響應。

爬蟲中間件(Spider Middlewares): 介于Scrapy引擎和爬蟲之間的框架,主要工作是處理蜘蛛的響應輸入和請求輸出。

調度中間件(Scheduler Middewares): 介于Scrapy引擎和調度之間的中間件,從Scrapy引擎發送到調度的請求和響應。

Scrapy運行流程大概如下:

首先,引擎從調度器中取出一個鏈接(URL)用于接下來的抓取

引擎把URL封裝成一個請求(Request)傳給下載器,下載器把資源下載下來,并封裝成應答包(Response)

然后,爬蟲解析Response

若是解析出實體(Item),則交給實體管道進行進一步的處理。

若是解析出的是鏈接(URL),則把URL交給Scheduler等待抓取

感謝各位的閱讀!看完上述內容,你們對python爬蟲可以使用哪些框架大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

舟山市| 房产| 咸宁市| 景泰县| 马山县| 唐海县| 罗江县| 宁蒗| 苍南县| 老河口市| 嵩明县| 内乡县| 家居| 应用必备| 耿马| 化德县| 高安市| 大田县| 漳浦县| 阿拉善盟| 聂拉木县| 惠安县| 正安县| 清流县| 邛崃市| 搜索| 徐汇区| 天峻县| 屯门区| 常熟市| 大冶市| 宁明县| 申扎县| 临漳县| 顺义区| 伊通| 卓资县| 乌兰察布市| 资溪县| 石台县| 孟州市|