Python 爬蟲之pyspider
pyspider是一個支持任務(wù)監(jiān)控、項目管理、多種數(shù)據(jù)庫,具有WebUI的爬蟲框架,它采用Python語言編寫,分布式架構(gòu)。詳細特性如下:
擁有Web腳本編輯界面,任務(wù)監(jiān)控器,項目管理器和結(jié)構(gòu)查看器;
數(shù)據(jù)庫支持MySQL、MongoDB、Redis、SQLite、Elasticsearch、PostgreSQL、SQLAlchemy;
隊列服務(wù)支持RabbitMQ、Beanstalk、Redis、Kombu;
支持抓取JavaScript的頁面;
組件可替換,支持單機、分布式部署,支持Docker部署;
強大的調(diào)度控制,支持超時重爬及優(yōu)先級設(shè)置;
支持Python2&3。
pyspider主要分為Scheduler(調(diào)度器)、Fetcher(抓取器)、Processer(處理器)三個部分,整個爬取過程受到Monitor(監(jiān)控器)的監(jiān)控,抓取的結(jié)果被ResultWorker(結(jié)果處理器)處理。基本流程為:Scheduler發(fā)起任務(wù)調(diào)度,F(xiàn)etcher抓取網(wǎng)頁內(nèi)容,Processer解析網(wǎng)頁內(nèi)容,再將新生成的Request發(fā)給Scheduler進行調(diào)度,將生成的提取結(jié)果輸出保存。
2pyspidervsscrapypyspider擁有WebUI,爬蟲的編寫、調(diào)試可在WebUI中進行;Scrapy采用采用代碼、命令行操作,實現(xiàn)可視化需對接Portia。
pyspider支持使用PhantomJS對JavaScript渲染頁面的采集;Scrapy需對接Scrapy-Splash組件。
pyspider內(nèi)置了PyQuery(Python爬蟲(五):PyQuery框架)作為選擇器;Scrapy對接了XPath、CSS選擇器、正則匹配。
pyspider擴展性弱;Scrapy模塊之間耦合度低,擴展性強,如:對接Middleware、Pipeline等組件實現(xiàn)更強功能。
總的來說,pyspider更加便捷,Scrapy擴展性更強,如果要快速實現(xiàn)爬取優(yōu)選pyspider,如果爬取規(guī)模較大、反爬機制較強,優(yōu)選scrapy。
以上內(nèi)容為大家介紹了Python爬蟲之pyspider,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。

猜你喜歡LIKE
相關(guān)推薦HOT
更多>>
python中的filter函數(shù)功能是什么?
python中的filter函數(shù)功能是什么?在python中,面對眾多的數(shù)據(jù),我們要過濾篩選出我們需要的數(shù)據(jù)。python中的filter函數(shù)就是起到了過濾篩選的作...詳情>>
2023-11-10 20:37:27
pythontime模塊是什么
pythontime模塊是什么在python中使用時間,就免不了和time模塊打交道,另外兩個模塊這個暫時先不做介紹。做time模塊的使用上,我們可以用它來對...詳情>>
2023-11-10 15:53:16
python是什么編程語言
python是什么編程語言1、說明是一種面向?qū)ο蟆⒔忉屝陀嬎銠C程序設(shè)計語言,由GuidovanRossum于1989年底發(fā)明,第一個公開發(fā)行版發(fā)行于1991年。Pyt...詳情>>
2023-11-10 15:21:05
python異常處理的兩種技巧
python異常處理的兩種技巧1、傳遞異常有時我們會在捕捉到一個異常后重新引發(fā)它(傳遞異常),實現(xiàn)起來很簡單,使用不帶參數(shù)的raise語句即可。deff...詳情>>
2023-11-10 14:49:39熱門推薦
python中的filter函數(shù)功能是什么?
沸python delattr函數(shù)如何使用?
熱python中pdb模塊怎么用?
熱Python如何截圖保存?
新python?中缺少module怎么辦?
python strftime和strptime的不同分析
python time.strptime的格式化
python中@contextmanager是什么?
python對象的三要素是什么
pythonGIL在Python多線程的應(yīng)用
python如何對多個CSV文件進行讀取
pythonif嵌套命令如何理解?
python對列表進行永久性或臨時排序的方法
python生成器調(diào)用方法引發(fā)異常
技術(shù)干貨







快速通道 更多>>
-
課程介紹
點擊獲取大綱 -
就業(yè)前景
查看就業(yè)薪資 -
學(xué)習(xí)費用
了解課程價格 -
優(yōu)惠活動
領(lǐng)取優(yōu)惠券 -
學(xué)習(xí)資源
領(lǐng)3000G教程 -
師資團隊
了解師資團隊 -
實戰(zhàn)項目
獲取項目源碼 -
開班地區(qū)
查看來校路線