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

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






