scrapydweb的初步使用(管理分布式爬虫)

时间:2019-05-04 22:31:04   收藏:0   阅读:1287

https://github.com/my8100/files/blob/master/scrapydweb/README_CN.md

一.安装配置  

  1、请先确保所有主机都已经安装和启动 Scrapyd,如果需要远程访问 Scrapyd,则需将 Scrapyd 配置文件中的 bind_address 修改为 bind_address = 0.0.0.0,然后重启   Scrapyd。

  2、开发主机或任一台主机安装 ScrapydWeb: pip install scrapydweb

  3、运行命令 scrapydweb -h将在当前工作目录生成配置文件 scrapydweb_settings.py,可用于下文的自定义配置。

  4、启用 HTTP 基本认证

ENABLE_AUTH = True
USERNAME = username
PASSWORD = password 
  1. 添加 Scrapyd server,支持字符串和元组两种配置格式,支持添加认证信息和分组/标签:
SCRAPYD_SERVERS = [
    #‘127.0.0.1:6800‘,
    # ‘username:password@localhost:6801#group‘,
    106.12.112.139:6800,
]

  报错情况:(在)

In order to automatically run LogParser at startup, you have to set up the SCRAPYD_LOGS_DIR option first.
Otherwise, set ENABLE_LOGPARSER = False if you are not running any Scrapyd service on the current ScrapydWeb host.
Note that you can run the LogParser service separately via command logparser as you like.
Check and update your settings in F:/scrapyweb/scrapydweb_settings_v8.py

  如果出现这样的错误去配置文件中把

  ‘ENABLE_LOGPARSER = True‘改成False

 6.通过运行命令 scrapydweb 启动 ScrapydWeb

 

二.页面管理

通过浏览器访问并登录 http://127.0.0.1:5000

技术分享图片

 

三.部署项目  

  技术分享图片

  技术分享图片

  技术分享图片

四.运行爬虫  

 技术分享图片

五.定时爬虫任务

技术分享图片

六.日志可视化

  默认情况下,ScrapydWeb 将在后台定时自动读取和分析 Scrapy log 文件并生成 Stats 页面

  技术分享图片

  技术分享图片

 

七.邮件通知

  基于后台定时读取和分析 Scrapy log 文件,ScrapydWeb 将在满足特定触发器时发送通知邮件,邮件正文包含当前运行任务的统计信息。

  1、添加邮箱帐号:

SMTP_SERVER = smtp.qq.com
SMTP_PORT = 465
SMTP_OVER_SSL = True
SMTP_CONNECTION_TIMEOUT = 10

FROM_ADDR = username@qq.com
EMAIL_PASSWORD = password
TO_ADDRS = [username@qq.com]

  2、设置邮件工作时间和基本触发器,以下示例代表:每隔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

  3、除了基本触发器,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条或3条以上的 critical 级别的 log 时,ScrapydWeb 自动停止当前任务,如果当前时间在邮件工作时间内,则同时发送通知邮件。

原文:https://www.cnblogs.com/tjp40922/p/10809994.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!