初级用户:html
进阶用户:python
专业用户:git
bind_address = 0.0.0.0
,而后重启 Scrapyd service。pip install scrapydweb
scrapydweb
启动 ScrapydWeb(首次启动将自动在当前工做目录生成配置文件)。ENABLE_AUTH = True
USERNAME = 'username'
PASSWORD = 'password'
复制代码
SCRAPYD_SERVERS = [
'127.0.0.1',
# 'username:password@localhost:6801#group',
('username', 'password', 'localhost', '6801', 'group'),
]
复制代码
scrapydweb
重启 ScrapydWeb。经过浏览器访问并登陆 http://127.0.0.1:5000。github
SCRAPY_PROJECTS_DIR
指定 Scrapy 项目开发目录,ScrapydWeb 将自动列出该路径下的全部项目,默认选定最新编辑的项目,选择项目后便可自动打包和部署指定项目。SCRAPYD_LOGS_DIR
和 ENABLE_LOGPARSER
,则启动 ScrapydWeb 时将自动运行 LogParser,该子进程经过定时增量式解析指定目录下的 Scrapy 日志文件以加快 Stats 页面的生成,避免因请求原始日志文件而占用大量内存和网络资源。经过轮询子进程在后台定时模拟访问 Stats 页面,ScrapydWeb 将在知足特定触发器时根据设定自动中止爬虫任务并发送通知邮件,邮件正文包含当前爬虫任务的统计信息。web
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]
复制代码
EMAIL_WORKING_DAYS = [1, 2, 3, 4, 5]
EMAIL_WORKING_HOURS = [9, 12, 17]
ON_JOB_RUNNING_INTERVAL = 3600
ON_JOB_FINISHED = True
复制代码
LOG_CRITICAL_THRESHOLD = 3
LOG_CRITICAL_TRIGGER_STOP = True
LOG_CRITICAL_TRIGGER_FORCESTOP = False
# ...
LOG_IGNORE_TRIGGER_FORCESTOP = False
复制代码
以上示例表明:当日志中出现3条或以上的 critical 级别的 log 时,ScrapydWeb 将自动中止当前任务,若是当前时间在邮件工做时间内,则同时发送通知邮件。redis
活捉几只官方大佬,赶忙前去围观吧。点个 Star 不迷路,欢迎提交 feature request!数据库