摘要:以上示例代表當發(fā)現(xiàn)條或條以上的級別的時,自動停止當前任務(wù),如果當前時間在郵件工作時間內(nèi),則同時發(fā)送通知郵件。
一、需求分析
初級用戶:
只有一臺開發(fā)主機
能夠通過 Scrapyd-client 打包和部署 Scrapy 爬蟲項目,以及通過 Scrapyd JSON API 來控制爬蟲,感覺命令行操作太麻煩,希望能夠通過瀏覽器直接部署和運行項目
專業(yè)用戶:
有 N 臺云主機,通過 Scrapy-Redis 構(gòu)建分布式爬蟲
希望集成身份認證
希望在頁面上直觀地查看所有云主機的運行狀態(tài)
希望能夠自由選擇部分云主機,批量部署和運行爬蟲項目,實現(xiàn)集群管理
希望自動執(zhí)行日志分析,以及爬蟲進度可視化
希望在出現(xiàn)特定類型的異常日志時能夠及時通知用戶,包括自動停止當前爬蟲任務(wù)
二、動圖預(yù)覽集群多節(jié)點部署項目和運行爬蟲:
三、安裝和配置1、請先確保所有主機都已經(jīng)安裝和啟動 Scrapyd,如果需要遠程訪問 Scrapyd,則需將 Scrapyd 配置文件中的 bind_address 修改為 bind_address = 0.0.0.0,然后重啟 Scrapyd。
2、開發(fā)主機或任一臺主機安裝 ScrapydWeb: pip install scrapydweb
3、運行命令 scrapydweb -h,將在當前工作目錄生成配置文件 scrapydweb_settings.py,可用于下文的自定義配置。
4、啟用 HTTP 基本認證:
ENABLE_AUTH = True
USERNAME = "username"
PASSWORD = "password"
5、添加 Scrapyd server,支持字符串和元組兩種配置格式,支持添加認證信息和分組/標簽:
SCRAPYD_SERVERS = [
"127.0.0.1",
# "username:password@localhost:6801#group",
("username", "password", "localhost", "6801", "group"),
]
6、通過運行命令 scrapydweb 啟動 ScrapydWeb
四、訪問 Web UI通過瀏覽器訪問并登錄 http://127.0.0.1:5000
Overview 頁面自動輸出所有 Scrapyd server 的運行狀態(tài)
通過分組和過濾可以自由選擇若干臺 Scrapyd server,調(diào)用 Scrapyd 提供的所有 HTTP JSON API,實現(xiàn)一次操作,批量執(zhí)行
五、部署項目支持指定若干臺 Scrapyd server 部署項目
通過配置 SCRAPY_PROJECTS_DIR 指定 Scrapy 項目開發(fā)目錄,ScrapydWeb 將自動列出該路徑下的所有項目,選擇項目后即可自動打包和部署指定項目:
如果 ScrapydWeb 運行在遠程服務(wù)器上,除了通過當前開發(fā)主機上傳常規(guī)的 egg 文件,也可以將整個項目文件夾添加到 zip/tar/tar.gz 壓縮文件后直接上傳即可,無需手動打包:
六、運行爬蟲通過下拉框直接選擇 project,version 和 spider
支持傳入 Scrapy settings 和 spider arguments
同樣支持指定若干臺 Scrapyd server 運行爬蟲
七、日志分析和可視化默認情況下,ScrapydWeb 將在后臺定時自動讀取和分析 Scrapy log 文件并生成 Stats 頁面
爬蟲進度可視化
八、郵件通知基于后臺定時讀取和分析 Scrapy log 文件,ScrapydWeb 將在滿足特定觸發(fā)器時發(fā)送通知郵件,郵件正文包含當前運行任務(wù)的統(tǒng)計信息。
1、添加郵箱帳號:
SMTP_SERVER = "smtp.qq.com"
SMTP_PORT = 465
SMTP_OVER_SSL = True
SMTP_CONNECTION_TIMEOUT = 10
?
FROM_ADDR = "[email protected]"
EMAIL_PASSWORD = "password"
TO_ADDRS = ["[email protected]"]
2、設(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
3、除了基本觸發(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
以上示例代表:當發(fā)現(xiàn)3條或3條以上的 critical 級別的 log 時,ScrapydWeb 自動停止當前任務(wù),如果當前時間在郵件工作時間內(nèi),則同時發(fā)送通知郵件。
九、GitHub 開源活捉幾只官方大佬,趕緊前去圍觀吧,別忘了 Star 噢!
https://github.com/my8100/scrapydweb
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/43111.html
摘要:分布式爬蟲,分發(fā)網(wǎng)址是基于地址。注意要使用管理同一個集群,爬蟲項目名稱須一致,同時集群中配置相同任務(wù)瀏覽器訪問啟動爬蟲時即可看見兩個集群配置,啟動同名爬蟲開始分布式爬蟲啟動分布式爬蟲后狀態(tài) Scrapy-cluster 建設(shè) 基于Scrapy-cluster庫的kafka-monitor可以實現(xiàn)分布式爬蟲 Scrapyd+Spiderkeeper實現(xiàn)爬蟲的可視化管理 環(huán)境 IP...
摘要:支持一鍵部署項目到集群。添加郵箱帳號設(shè)置郵件工作時間和基本觸發(fā)器,以下示例代表每隔小時或當某一任務(wù)完成時,并且當前時間是工作日的點,點和點,將會發(fā)送通知郵件。除了基本觸發(fā)器,還提供了多種觸發(fā)器用于處理不同類型的,包括和等。 showImg(https://segmentfault.com/img/remote/1460000018772067?w=1680&h=869); 安裝和配置 ...
摘要:相關(guān)鏈接官方文檔安裝推薦使用安裝,命令如下命令執(zhí)行完畢之后即可完成安裝。的安裝是一個分布式管理模塊,本節(jié)來介紹一下的安裝方式。如果沒有錯誤報出,則證明庫已經(jīng)安裝好了。上一篇文章網(wǎng)絡(luò)爬蟲實戰(zhàn)部署相關(guān)庫下一篇文章網(wǎng)絡(luò)爬蟲實戰(zhàn)爬蟲基礎(chǔ)基本原理 上一篇文章:Python3網(wǎng)絡(luò)爬蟲實戰(zhàn)---13、部署相關(guān)庫ScrapydClient、ScrapydAPI下一篇文章:Python3網(wǎng)絡(luò)爬蟲實戰(zhàn)--...
摘要:包括爬蟲編寫爬蟲避禁動態(tài)網(wǎng)頁數(shù)據(jù)抓取部署分布式爬蟲系統(tǒng)監(jiān)測共六個內(nèi)容,結(jié)合實際定向抓取騰訊新聞數(shù)據(jù),通過測試檢驗系統(tǒng)性能。 1 項目介紹 本項目的主要內(nèi)容是分布式網(wǎng)絡(luò)新聞抓取系統(tǒng)設(shè)計與實現(xiàn)。主要有以下幾個部分來介紹: (1)深入分析網(wǎng)絡(luò)新聞爬蟲的特點,設(shè)計了分布式網(wǎng)絡(luò)新聞抓取系統(tǒng)爬取策略、抓取字段、動態(tài)網(wǎng)頁抓取方法、分布式結(jié)構(gòu)、系統(tǒng)監(jiān)測和數(shù)據(jù)存儲六個關(guān)鍵功能。 (2)結(jié)合程序代碼分解說...
摘要:為了方便用戶展示自己的社區(qū)資料,雨點兒網(wǎng)中增加了一個社區(qū)爬蟲功能。方案使用運行爬蟲鑒于項目當前的架構(gòu),準備使用來執(zhí)行異步爬蟲。可以同時執(zhí)行多個爬蟲,最大進程數(shù)可配,防止系統(tǒng)過載。尾歡迎使用我們的爬蟲功能來收集社交資料。 序 社區(qū)活躍度或者貢獻越來越受到重視,往往會作為獲得工作或者承接項目的加分項。為了方便用戶展示自己的社區(qū)資料,雨點兒網(wǎng)中增加了一個社區(qū)爬蟲功能。 當前只爬取了用戶主頁上...
閱讀 3025·2021-10-27 14:16
閱讀 729·2021-10-13 09:39
閱讀 3776·2021-09-29 09:46
閱讀 2126·2019-08-30 15:54
閱讀 2629·2019-08-30 15:52
閱讀 3025·2019-08-30 15:44
閱讀 1134·2019-08-30 15:44
閱讀 530·2019-08-30 10:51