Python爬蟲之Pyspider框架架構(gòu)設(shè)計(jì)

pyspider的設(shè)計(jì)基礎(chǔ)是:以python腳本驅(qū)動(dòng)的抓取環(huán)模型爬蟲

通過python腳本進(jìn)行結(jié)構(gòu)化信息的提取,follow鏈接調(diào)度抓取控制,實(shí)現(xiàn)最大的靈活性

通過web化的腳本編寫、調(diào)試環(huán)境。web展現(xiàn)調(diào)度狀態(tài)

抓取環(huán)模型成熟穩(wěn)定,模塊間相互獨(dú)立,通過消息隊(duì)列連接,從單進(jìn)程到多機(jī)分布式靈活拓展

功能

webui

web的可視化任務(wù)監(jiān)控

web腳本編寫,單步調(diào)試

異常捕獲、log捕獲,print捕獲等

scheduler

任務(wù)優(yōu)先級(jí)

周期定時(shí)任務(wù)

流量控制

基于時(shí)間周期 或 前鏈標(biāo)簽(例如更新時(shí)間)的重抓取調(diào)度

fetcher

dataurl支持,用于假抓取模擬傳遞

method, header, cookie, proxy, etag, last_modified, timeout 等等抓取調(diào)度控制

可以通過適配類似phantomjs的webkit引擎支持渲染

processor

內(nèi)置的pyquery,以jQuery解析頁(yè)面

在腳本中完全控制調(diào)度抓取的各項(xiàng)參數(shù)

可以向后鏈傳遞信息

異常捕獲

架構(gòu)

pyspider的架構(gòu)主要分為 scheduler(調(diào)度器), fetcher(抓取器), processor(腳本執(zhí)行):



各個(gè)組件間使用消息隊(duì)列連接,除了scheduler是單點(diǎn)的,fetcher 和 processor 都是可以多實(shí)例分布式部署的。 scheduler 負(fù)責(zé)整體的調(diào)度控制

任務(wù)由 scheduler 發(fā)起調(diào)度,fetcher 抓取網(wǎng)頁(yè)內(nèi)容, processor 執(zhí)行預(yù)先編寫的python腳本,輸出結(jié)果或產(chǎn)生新的提鏈任務(wù)(發(fā)往 scheduler),形成閉環(huán)。

每個(gè)腳本可以靈活使用各種python庫(kù)對(duì)頁(yè)面進(jìn)行解析,使用框架API控制下一步抓取動(dòng)作,通過設(shè)置回調(diào)控制解析動(dòng)作。

參考:https://binux.blog/2014/02/pyspider-architecture/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 用了一段時(shí)間的pyspider,一直沒有研究源碼。這兩天抽空看了看,稍微拿幾個(gè)點(diǎn)出來研究一下,如果讀到哪里不對(duì)的地...
    沸騰的小茄克閱讀 3,271評(píng)論 1 6
  • 一,pyspider pyspider的設(shè)計(jì)基礎(chǔ)是:以python腳本驅(qū)動(dòng)的抓取環(huán)模型爬蟲 通過python腳本進(jìn)...
    學(xué)而不厭888閱讀 953評(píng)論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,537評(píng)論 19 139
  • 現(xiàn)在有很多爬蟲框架,比如scrapy、webmagic、pyspider都可以在爬蟲工作中使用,也可以直接通過re...
    DaVinciDW閱讀 1,445評(píng)論 0 1
  • 之前就專門寫過一篇關(guān)于車的文章。說我從我哥那里借來一輛淡藍(lán)色的小奧拓,在城市中代步著實(shí)方便。但如果你開車久了,你就...
    花滿樓閱讀 262評(píng)論 0 2

友情鏈接更多精彩內(nèi)容