摘要:支持一鍵部署項目到集群。添加郵箱帳號設置郵件工作時間和基本觸發器,以下示例代表每隔小時或當某一任務完成時,并且當前時間是工作日的點,點和點,將會發送通知郵件。除了基本觸發器,還提供了多種觸發器用于處理不同類型的,包括和等。
安裝和配置
請先確保所有主機都已經安裝和啟動 Scrapyd,如果需要遠程訪問 Scrapyd,則需將 Scrapyd 配置文件中的 bind_address 修改為 bind_address = 0.0.0.0,然后重啟 Scrapyd service。
開發主機或任一臺主機安裝 ScrapydWeb:pip install scrapydweb
通過運行命令 scrapydweb 啟動 ScrapydWeb(首次啟動將自動在當前工作目錄生成配置文件)。
啟用 HTTP 基本認證(可選):
ENABLE_AUTH = True USERNAME = "username" PASSWORD = "password"
添加 Scrapyd server,支持字符串和元組兩種配置格式,支持添加認證信息和分組/標簽:
SCRAPYD_SERVERS = [ "127.0.0.1", # "username:password@localhost:6801#group", ("username", "password", "localhost", "6801", "group"), ]
運行命令 scrapydweb 重啟 ScrapydWeb。
訪問 web UI通過瀏覽器訪問并登錄 http://127.0.0.1:5000。
Servers 頁面自動輸出所有 Scrapyd server 的運行狀態。
通過分組和過濾可以自由選擇若干臺 Scrapyd server,然后在上方 Tabs 標簽頁中選擇 Scrapyd 提供的任一 HTTP JSON API,實現一次操作,批量執行。
通過集成 LogParser,Jobs 頁面自動輸出爬蟲任務的 pages 和 items 數據。
ScrapydWeb 默認通過定時創建快照將爬蟲任務列表信息保存到數據庫,即使重啟 Scrapyd server 也不會丟失任務信息。(issue 12)
部署項目通過配置 SCRAPY_PROJECTS_DIR 指定 Scrapy 項目開發目錄,ScrapydWeb 將自動列出該路徑下的所有項目,默認選定最新編輯的項目,選擇項目后即可自動打包和部署指定項目。
如果 ScrapydWeb 運行在遠程服務器上,除了通過當前開發主機上傳常規的 egg 文件,也可以將整個項目文件夾添加到 zip/tar/tar.gz 壓縮文件后直接上傳即可,無需手動打包為 egg 文件。
支持一鍵部署項目到 Scrapyd server 集群。
運行爬蟲通過下拉框依次選擇 project,version 和 spider。
支持傳入 Scrapy settings 和 spider arguments。
支持創建基于 APScheduler 的定時爬蟲任務。(如需同時啟動大量爬蟲任務,則需調整 Scrapyd 配置文件的 max-proc 參數)
支持在 Scrapyd server 集群上一鍵啟動分布式爬蟲。
日志分析和可視化如果在同一臺主機運行 Scrapyd 和 ScrapydWeb,建議設置 SCRAPYD_LOGS_DIR 和 ENABLE_LOGPARSER,則啟動 ScrapydWeb 時將自動運行 LogParser,該子進程通過定時增量式解析指定目錄下的 Scrapy 日志文件以加快 Stats 頁面的生成,避免因請求原始日志文件而占用大量內存和網絡資源。
同理,如果需要管理 Scrapyd server 集群,建議在其余主機多帶帶安裝和啟動 LogParser。
如果安裝的 Scrapy 版本不大于 1.5.1,LogParser 將能夠自動通過 Scrapy 內建的 Telnet Console 讀取 Crawler.stats 和 Crawler.engine 數據,以便掌握 Scrapy 內部運行狀態。
定時爬蟲任務支持查看爬蟲任務的參數信息,追溯歷史記錄
支持暫停,恢復,觸發,停止,編輯和刪除任務等操作
郵件通知通過輪詢子進程在后臺定時模擬訪問 Stats 頁面,ScrapydWeb 將在滿足特定觸發器時根據設定自動停止爬蟲任務并發送通知郵件,郵件正文包含當前爬蟲任務的統計信息。
添加郵箱帳號:
SMTP_SERVER = "smtp.qq.com" SMTP_PORT = 465 SMTP_OVER_SSL = True SMTP_CONNECTION_TIMEOUT = 10 EMAIL_USERNAME = "" # defaults to FROM_ADDR EMAIL_PASSWORD = "password" FROM_ADDR = "username@qq.com" TO_ADDRS = [FROM_ADDR]
設置郵件工作時間和基本觸發器,以下示例代表:每隔1小時或當某一任務完成時,并且當前時間是工作日的9點,12點和17點,ScrapydWeb 將會發送通知郵件。
EMAIL_WORKING_DAYS = [1, 2, 3, 4, 5] EMAIL_WORKING_HOURS = [9, 12, 17] ON_JOB_RUNNING_INTERVAL = 3600 ON_JOB_FINISHED = True
除了基本觸發器,ScrapydWeb 還提供了多種觸發器用于處理不同類型的 log,包括 "CRITICAL", "ERROR", "WARNING", "REDIRECT", "RETRY" 和 "IGNORE"等。
LOG_CRITICAL_THRESHOLD = 3 LOG_CRITICAL_TRIGGER_STOP = True LOG_CRITICAL_TRIGGER_FORCESTOP = False # ... LOG_IGNORE_TRIGGER_FORCESTOP = False
以上示例代表:當日志中出現3條或以上的 critical 級別的 log 時,ScrapydWeb 將自動停止當前任務,如果當前時間在郵件工作時間內,則同時發送通知郵件。
移動端 UI GitHub 開源my8100/scrapydweb
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/42677.html
摘要:以上示例代表當發現條或條以上的級別的時,自動停止當前任務,如果當前時間在郵件工作時間內,則同時發送通知郵件。 showImg(https://segmentfault.com/img/remote/1460000018052810); 一、需求分析 初級用戶: 只有一臺開發主機 能夠通過 Scrapyd-client 打包和部署 Scrapy 爬蟲項目,以及通過 Scrapyd JS...
摘要:基于的爬蟲分布式爬蟲管理平臺,支持多種編程語言以及多種爬蟲框架。后臺程序會自動發現這些爬蟲項目并儲存到數據庫中。每一個節點需要啟動應用來支持爬蟲部署。任務將以環境變量的形式存在于爬蟲任務運行的進程中,并以此來關聯抓取數據。 Crawlab 基于Celery的爬蟲分布式爬蟲管理平臺,支持多種編程語言以及多種爬蟲框架。 Github: https://github.com/tikazyq/...
摘要:如需遠程訪問,則需在配置文件中設置,然后重啟。詳見如果是同個容器,直接使用即可,這里是演示了不同容器或主機下的情況訪問即可 文章開始,先摘錄一下文中各軟件的官方定義Scrapy An open source and collaborative framework for extracting the data youneed from websites.In a fast, simpl...
摘要:如需遠程訪問,則需在配置文件中設置,然后重啟。詳見如果是同個容器,直接使用即可,這里是演示了不同容器或主機下的情況訪問即可 文章開始,先摘錄一下文中各軟件的官方定義Scrapy An open source and collaborative framework for extracting the data youneed from websites.In a fast, simpl...
摘要:阿里云安裝腳本安裝腳本兩個腳本可以任選其一,速度都非常不錯。推薦的加速器有和阿里云。阿里云不同平臺的鏡像加速方法配置可以參考的官方文檔。以上便是的安裝方式說明。上一篇文章網絡爬蟲實戰爬蟲框架的安裝下一篇文章網絡爬蟲實戰部署相關庫 上一篇文章:Python3網絡爬蟲實戰---11、爬蟲框架的安裝:ScrapySplash、ScrapyRedis下一篇文章:Python3網絡爬蟲實戰---...
閱讀 3844·2021-11-25 09:43
閱讀 2188·2021-11-23 10:11
閱讀 1414·2021-09-29 09:35
閱讀 1360·2021-09-24 10:31
閱讀 2050·2019-08-30 15:48
閱讀 2366·2019-08-29 15:28
閱讀 441·2019-08-29 12:36
閱讀 3499·2019-08-28 18:12