Scrapy爬虫程序监控平台构建(二):Scrapydweb

我这里选用scrapydweb作为爬虫程序的监控平台。

1.程序安装

pip install scrapydweb

或者去GitHub:https://github.com/my8100/scrapydweb

2.启动

启动前需要保证对应的scrapyd服务已经启动。

scrapydweb

在这里插入图片描述
注意:如果出现6801端口无法连接,这个是因为你没有配置集群环境,不用担心。

3.配置

配置文件会在我们当前启动scrapydweb路径下,scrapyweb_settings_v10.py
配置文件中都会有详细的注解,大家可以根据实际需求尽心修改。

3.1启用 HTTP 基本认证(可选)

ENABLE_AUTH = True
USERNAME = 'username'
PASSWORD = 'password'

3.2配置项目路径

这里是scrapydweb比较方便的地方,不用事先将项目先上传到scrapyd服务器,scrapydweb能够帮我们上传。
在这里插入图片描述

3.3配置LogParser

如果我们的ScrapydWeb 和某个 Scrapyd 运行于同一台主机,这三个设置项都需要配置。
在这里插入图片描述

#这个配置时scrapd的server请求地址。
LOCAL_SCRAPYD_SERVER = '127.0.0.1:6800'

注意:如果我们的ScrapydWeb 和某个 Scrapyd 运行于同一台主机,scrapydweb会直接去访问log文件,而不是去请求这地址。

#我们运行scrapyd时会产生一个logs文件夹,这里需要将logs的位置配置
LOCAL_SCRAPYD_LOGS_DIR =‘’

#默认值为False,将其设置为True,可在ScrapydWeb启动时自动将LogParser作为子进程运行。
ENABLE_LOGPARSER = True

3.4远程访问scrapyd

如果需要远程访问 Scrapyd,则需将 Scrapyd 配置文件中的 bind_address 修改为

bind_address = 0.0.0.0

然后重启 Scrapyd service。

4.Scrapydweb使用

4.1Servers监视和控制所有Scrapyd服务器。

  • Servers 页面自动输出所有 Scrapyd server 的运行状态。
  • 通过分组和过滤可以自由选择若干台 Scrapyd server,然后在上方 Tabs 标签页中选择 Scrapyd 提供的任一 HTTP JSON API,实现一次操作,批量执行。
    在这里插入图片描述

4.2Timer tasks计时器任务

在这里插入图片描述

4.3 Dashboarder

这里有Jobs(任务列表)、Node reports(节点报告)、cluster reports(集群报告),三个模块。

  • 通过集成 LogParser,Jobs 页面自动输出爬虫任务的 pages 和 items 数据。
  • ScrapydWeb 默认通过定时创建快照将爬虫任务列表信息保存到数据库,即使重启 Scrapyd server 也不会丢失任务信息。
    在这里插入图片描述

Deploy Project(部署项目)

  • 通过配置 SCRAPY_PROJECTS_DIR 指定 Scrapy 项目开发目录,ScrapydWeb 将自动列出该路径下的所有项目,默认选定最新编辑的项目,选择项目后即可自动打包和部署指定项目。
  • 如果 ScrapydWeb 运行在远程服务器上,除了通过当前开发主机上传常规的 egg 文件,也可以将整个项目文件夹添加到 zip/tar/tar.gz 压缩文件后直接上传即可,无需手动打包为 egg 文件。
  • 支持一键部署项目到 Scrapyd server 集群。
    在这里插入图片描述

Run Spider(运行爬虫)

  • 通过下拉框依次选择 project,version 和 spider。
  • 支持传入 Scrapy settings 和 spider arguments。
  • 支持创建基于 APScheduler 的定时爬虫任务。(如需同时启动大量爬虫任务,则需调整 Scrapyd 配置文件的 max-proc 参数)
  • 支持在 Scrapyd server 集群上一键启动分布式爬虫。

在这里插入图片描述

pares log

  • 如果在同一台主机运行 Scrapyd 和 ScrapydWeb,建议设置 SCRAPYD_LOGS_DIR 和 - ENABLE_LOGPARSER,则启动 ScrapydWeb 时将自动运行 LogParser,该子进程通过定时增量式解析指定目录下的 Scrapy 日志文件以加快 Stats 页面的生成,避免因请求原始日志文件而占用大量内存和网络资源。
  • 同理,如果需要管理 Scrapyd server 集群,建议在其余主机单独安装和启动 LogParser。
  • 如果安装的 Scrapy 版本不大于 1.5.1,LogParser 将能够自动通过 Scrapy 内建的 Telnet Console 读取 Crawler.stats 和 Crawler.engine 数据,以便掌握 Scrapy 内部运行状态。

在这里插入图片描述
使用文档参靠:https://github.com/my8100/files/blob/master/scrapydweb/README_CN.md

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值