028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

如何通过Scrapyd+ScrapydWeb简单高效地部署和监控分布式爬虫项目

如何通过 Scrapyd + ScrapydWeb 简单高效地部署和监控分布式爬虫项目

创新互联公司专业为企业提供伊春网站建设、伊春做网站、伊春网站设计、伊春网站制作等企业网站建设、网页设计与制作、伊春企业网站模板建站服务,十年伊春做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

安装和配置

  1. 请先确保所有主机都已经安装和启动 Scrapyd,如果需要远程访问 Scrapyd,则需将 Scrapyd 配置文件中的 bind_address 修改为 bind_address = 0.0.0.0,然后重启 Scrapyd service。
  2. 开发主机或任一台主机安装 ScrapydWebpip install scrapydweb
  3. 通过运行命令 scrapydweb 启动 ScrapydWeb(首次启动将自动在当前工作目录生成配置文件)。
  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。

如何通过 Scrapyd + ScrapydWeb 简单高效地部署和监控分布式爬虫项目

如何通过 Scrapyd + ScrapydWeb 简单高效地部署和监控分布式爬虫项目

部署项目

如何通过 Scrapyd + ScrapydWeb 简单高效地部署和监控分布式爬虫项目

运行爬虫

如何通过 Scrapyd + ScrapydWeb 简单高效地部署和监控分布式爬虫项目

日志分析和可视化

如何通过 Scrapyd + ScrapydWeb 简单高效地部署和监控分布式爬虫项目

定时爬虫任务

如何通过 Scrapyd + ScrapydWeb 简单高效地部署和监控分布式爬虫项目

邮件通知

通过轮询子进程在后台定时模拟访问 Stats 页面,ScrapydWeb 将在满足特定触发器时根据设定自动停止爬虫任务并发送通知邮件,邮件正文包含当前爬虫任务的统计信息。

  1. 添加邮箱帐号:
    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]


2. 设置邮件工作时间和基本触发器,以下示例代表:每隔1小时或当某一任务完成时,并且当前时间是工作日的9点,12点和17点,*ScrapydWeb* 将会发送通知邮件。
```python
EMAIL_WORKING_DAYS = [1, 2, 3, 4, 5]
EMAIL_WORKING_HOURS = [9, 12, 17]
ON_JOB_RUNNING_INTERVAL = 3600
ON_JOB_FINISHED = True
  1. 除了基本触发器,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条或以上的 critical 级别的 log 时,ScrapydWeb 将自动停止当前任务,如果当前时间在邮件工作时间内,则同时发送通知邮件。

移动端 UI

如何通过 Scrapyd + ScrapydWeb 简单高效地部署和监控分布式爬虫项目

GitHub 开源

my8100/scrapydweb


本文标题:如何通过Scrapyd+ScrapydWeb简单高效地部署和监控分布式爬虫项目
本文路径:http://www.tsicrk.com/article/ieocpd.html

其他资讯

让你的专属顾问为你服务

7.4451s