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。html
SCRAPY_PROJECTS_DIR
指定 Scrapy 项目开发目录,ScrapydWeb 将自动列出该路径下的全部项目,默认选定最新编辑的项目,选择项目后便可自动打包和部署指定项目。SCRAPYD_LOGS_DIR
和 ENABLE_LOGPARSER
,则启动 ScrapydWeb 时将自动运行 LogParser,该子进程经过定时增量式解析指定目录下的 Scrapy 日志文件以加快 Stats 页面的生成,避免因请求原始日志文件而占用大量内存和网络资源。经过轮询子进程在后台定时模拟访问 Stats 页面,ScrapydWeb 将在知足特定触发器时根据设定自动中止爬虫任务并发送通知邮件,邮件正文包含当前爬虫任务的统计信息。python
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 将自动中止当前任务,若是当前时间在邮件工做时间内,则同时发送通知邮件。git
my8100/scrapydwebgithub