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