成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

如何通過 Scrapyd + ScrapydWeb 簡(jiǎn)單高效地部署和監(jiān)控分布式爬蟲項(xiàng)目

zsirfs / 3003人閱讀

摘要:支持一鍵部署項(xiàng)目到集群。添加郵箱帳號(hào)設(shè)置郵件工作時(shí)間和基本觸發(fā)器,以下示例代表每隔小時(shí)或當(dāng)某一任務(wù)完成時(shí),并且當(dāng)前時(shí)間是工作日的點(diǎn),點(diǎn)和點(diǎn),將會(huì)發(fā)送通知郵件。除了基本觸發(fā)器,還提供了多種觸發(fā)器用于處理不同類型的,包括和等。

安裝和配置

請(qǐng)先確保所有主機(jī)都已經(jīng)安裝和啟動(dòng) Scrapyd,如果需要遠(yuǎn)程訪問 Scrapyd,則需將 Scrapyd 配置文件中的 bind_address 修改為 bind_address = 0.0.0.0,然后重啟 Scrapyd service。

開發(fā)主機(jī)或任一臺(tái)主機(jī)安裝 ScrapydWebpip install scrapydweb

通過運(yùn)行命令 scrapydweb 啟動(dòng) ScrapydWeb(首次啟動(dòng)將自動(dòng)在當(dāng)前工作目錄生成配置文件)。

啟用 HTTP 基本認(rèn)證(可選):

ENABLE_AUTH = True
USERNAME = "username"
PASSWORD = "password"

添加 Scrapyd server,支持字符串和元組兩種配置格式,支持添加認(rèn)證信息和分組/標(biāo)簽:

SCRAPYD_SERVERS = [
    "127.0.0.1",
    # "username:password@localhost:6801#group",
    ("username", "password", "localhost", "6801", "group"),
]

運(yùn)行命令 scrapydweb 重啟 ScrapydWeb

訪問 web UI

通過瀏覽器訪問并登錄 http://127.0.0.1:5000。

Servers 頁面自動(dòng)輸出所有 Scrapyd server 的運(yùn)行狀態(tài)。

通過分組和過濾可以自由選擇若干臺(tái) Scrapyd server,然后在上方 Tabs 標(biāo)簽頁中選擇 Scrapyd 提供的任一 HTTP JSON API,實(shí)現(xiàn)一次操作,批量執(zhí)行

通過集成 LogParser,Jobs 頁面自動(dòng)輸出爬蟲任務(wù)的 pages 和 items 數(shù)據(jù)。

ScrapydWeb 默認(rèn)通過定時(shí)創(chuàng)建快照將爬蟲任務(wù)列表信息保存到數(shù)據(jù)庫,即使重啟 Scrapyd server 也不會(huì)丟失任務(wù)信息。(issue 12)

部署項(xiàng)目

通過配置 SCRAPY_PROJECTS_DIR 指定 Scrapy 項(xiàng)目開發(fā)目錄,ScrapydWeb 將自動(dòng)列出該路徑下的所有項(xiàng)目,默認(rèn)選定最新編輯的項(xiàng)目,選擇項(xiàng)目后即可自動(dòng)打包和部署指定項(xiàng)目。

如果 ScrapydWeb 運(yùn)行在遠(yuǎn)程服務(wù)器上,除了通過當(dāng)前開發(fā)主機(jī)上傳常規(guī)的 egg 文件,也可以將整個(gè)項(xiàng)目文件夾添加到 zip/tar/tar.gz 壓縮文件后直接上傳即可,無需手動(dòng)打包為 egg 文件。

支持一鍵部署項(xiàng)目到 Scrapyd server 集群。

運(yùn)行爬蟲

通過下拉框依次選擇 project,version 和 spider。

支持傳入 Scrapy settings 和 spider arguments。

支持創(chuàng)建基于 APScheduler 的定時(shí)爬蟲任務(wù)。(如需同時(shí)啟動(dòng)大量爬蟲任務(wù),則需調(diào)整 Scrapyd 配置文件的 max-proc 參數(shù))

支持在 Scrapyd server 集群上一鍵啟動(dòng)分布式爬蟲。

日志分析和可視化

如果在同一臺(tái)主機(jī)運(yùn)行 Scrapyd 和 ScrapydWeb,建議設(shè)置 SCRAPYD_LOGS_DIRENABLE_LOGPARSER,則啟動(dòng) ScrapydWeb 時(shí)將自動(dòng)運(yùn)行 LogParser,該子進(jìn)程通過定時(shí)增量式解析指定目錄下的 Scrapy 日志文件以加快 Stats 頁面的生成,避免因請(qǐng)求原始日志文件而占用大量內(nèi)存和網(wǎng)絡(luò)資源。

同理,如果需要管理 Scrapyd server 集群,建議在其余主機(jī)多帶帶安裝和啟動(dòng) LogParser

如果安裝的 Scrapy 版本不大于 1.5.1,LogParser 將能夠自動(dòng)通過 Scrapy 內(nèi)建的 Telnet Console 讀取 Crawler.stats 和 Crawler.engine 數(shù)據(jù),以便掌握 Scrapy 內(nèi)部運(yùn)行狀態(tài)。

定時(shí)爬蟲任務(wù)

支持查看爬蟲任務(wù)的參數(shù)信息,追溯歷史記錄

支持暫停,恢復(fù),觸發(fā),停止,編輯和刪除任務(wù)等操作

郵件通知

通過輪詢子進(jìn)程在后臺(tái)定時(shí)模擬訪問 Stats 頁面,ScrapydWeb 將在滿足特定觸發(fā)器時(shí)根據(jù)設(shè)定自動(dòng)停止爬蟲任務(wù)并發(fā)送通知郵件,郵件正文包含當(dāng)前爬蟲任務(wù)的統(tǒng)計(jì)信息。

添加郵箱帳號(hào):

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 = "[email protected]"
TO_ADDRS = [FROM_ADDR]

設(shè)置郵件工作時(shí)間和基本觸發(fā)器,以下示例代表:每隔1小時(shí)或當(dāng)某一任務(wù)完成時(shí),并且當(dāng)前時(shí)間是工作日的9點(diǎn),12點(diǎn)和17點(diǎn),ScrapydWeb 將會(huì)發(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

以上示例代表:當(dāng)日志中出現(xiàn)3條或以上的 critical 級(jí)別的 log 時(shí),ScrapydWeb 將自動(dòng)停止當(dāng)前任務(wù),如果當(dāng)前時(shí)間在郵件工作時(shí)間內(nèi),則同時(shí)發(fā)送通知郵件。

移動(dòng)端 UI

GitHub 開源

my8100/scrapydweb

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/42677.html

相關(guān)文章

  • 部署Scrapy布式爬蟲項(xiàng)目

    摘要:以上示例代表當(dāng)發(fā)現(xiàn)條或條以上的級(jí)別的時(shí),自動(dòng)停止當(dāng)前任務(wù),如果當(dāng)前時(shí)間在郵件工作時(shí)間內(nèi),則同時(shí)發(fā)送通知郵件。 showImg(https://segmentfault.com/img/remote/1460000018052810); 一、需求分析 初級(jí)用戶: 只有一臺(tái)開發(fā)主機(jī) 能夠通過 Scrapyd-client 打包和部署 Scrapy 爬蟲項(xiàng)目,以及通過 Scrapyd JS...

    techstay 評(píng)論0 收藏0
  • 基于Celery的布式爬蟲管理平臺(tái): Crawlab

    摘要:基于的爬蟲分布式爬蟲管理平臺(tái),支持多種編程語言以及多種爬蟲框架。后臺(tái)程序會(huì)自動(dòng)發(fā)現(xiàn)這些爬蟲項(xiàng)目并儲(chǔ)存到數(shù)據(jù)庫中。每一個(gè)節(jié)點(diǎn)需要啟動(dòng)應(yīng)用來支持爬蟲部署。任務(wù)將以環(huán)境變量的形式存在于爬蟲任務(wù)運(yùn)行的進(jìn)程中,并以此來關(guān)聯(lián)抓取數(shù)據(jù)。 Crawlab 基于Celery的爬蟲分布式爬蟲管理平臺(tái),支持多種編程語言以及多種爬蟲框架。 Github: https://github.com/tikazyq/...

    legendaryedu 評(píng)論0 收藏0
  • 基于Docker的Scrapy+Scrapyd+Scrapydweb部署

    摘要:如需遠(yuǎn)程訪問,則需在配置文件中設(shè)置,然后重啟。詳見如果是同個(gè)容器,直接使用即可,這里是演示了不同容器或主機(jī)下的情況訪問即可 文章開始,先摘錄一下文中各軟件的官方定義Scrapy An open source and collaborative framework for extracting the data youneed from websites.In a fast, simpl...

    defcon 評(píng)論0 收藏0
  • 基于Docker的Scrapy+Scrapyd+Scrapydweb部署

    摘要:如需遠(yuǎn)程訪問,則需在配置文件中設(shè)置,然后重啟。詳見如果是同個(gè)容器,直接使用即可,這里是演示了不同容器或主機(jī)下的情況訪問即可 文章開始,先摘錄一下文中各軟件的官方定義Scrapy An open source and collaborative framework for extracting the data youneed from websites.In a fast, simpl...

    陳偉 評(píng)論0 收藏0
  • Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---12、部署相關(guān)庫的安裝:Docker、Scrapyd

    摘要:阿里云安裝腳本安裝腳本兩個(gè)腳本可以任選其一,速度都非常不錯(cuò)。推薦的加速器有和阿里云。阿里云不同平臺(tái)的鏡像加速方法配置可以參考的官方文檔。以上便是的安裝方式說明。上一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)爬蟲框架的安裝下一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)部署相關(guān)庫 上一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---11、爬蟲框架的安裝:ScrapySplash、ScrapyRedis下一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---...

    ityouknow 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<