国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

zsirfs / 2966人閱讀

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

安裝和配置

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

開發(fā)主機或任一臺主機安裝 ScrapydWebpip 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_DIRENABLE_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

相關(guān)文章

  • 部署Scrapy布式爬蟲項目

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

    techstay 評論0 收藏0
  • 基于Celery的布式爬蟲管理平臺: Crawlab

    摘要:基于的爬蟲分布式爬蟲管理平臺,支持多種編程語言以及多種爬蟲框架。后臺程序會自動發(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/...

    legendaryedu 評論0 收藏0
  • 基于Docker的Scrapy+Scrapyd+Scrapydweb部署

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

    defcon 評論0 收藏0
  • 基于Docker的Scrapy+Scrapyd+Scrapydweb部署

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

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

    摘要:阿里云安裝腳本安裝腳本兩個腳本可以任選其一,速度都非常不錯。推薦的加速器有和阿里云。阿里云不同平臺的鏡像加速方法配置可以參考的官方文檔。以上便是的安裝方式說明。上一篇文章網(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)---...

    ityouknow 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<