作为The Python Scrapy Playbook的一部分发布。

Scrapyd 是事实上的蜘蛛管理工具,适用于想要一种免费且有效的方式来管理多台服务器上的 Scrapy 蜘蛛,而无需配置 cron 作业或使用付费工具(如Scrapy Cloud)的开发人员。

然而,Scrapyd 的一个主要缺点是,Scrapyd 附带的默认仪表板至少可以说是基本的。

正因为如此,许多网络抓取团队不得不构建自己的 Scrapyd 仪表板来获得他们需要的功能。

在本指南中,我们将介绍这些开发人员决定与社区分享的 5 个最佳 Scrapyd 仪表板,这样您就不必自己构建了。

1.ScrapeOps

2.ScrapydWeb

3.杰拉皮

4.SpiderKeeper

5.爬取实验室


#1 ScrapeOps

ScrapeOps是一个新的 Scrapyd 仪表板和 Scrapy 监控工具。

通过简单的 30 秒安装,ScrapeOps 为您提供了开箱即用的 Web 抓取所需的所有监控、警报、调度和数据验证功能。

现场演示:ScrapeOps 演示

ScrapeOps 促销

ScrapeOps 的主要目标是为每个开发人员提供与最复杂的网络抓取工具相同级别的抓取监控功能,而无需设置自己的自定义解决方案。

与此列表中的其他选项不同,ScrapeOps 是一个完整的端到端 Web 抓取监控和管理工具,专用于 Web 抓取,它会自动为您设置所有监视器、健康检查和警报。

如果您在集成 ScrapeOps 时遇到问题或需要有关设置刮板的建议,那么他们有一个支持团队随时为您提供帮助。


特点

一旦你完成了简单的安装(你的爬虫中的 3 行),ScrapeOps 将:

  • 🕵️u200d♂️ 监控 - 自动监控你所有的爬虫。

  • 📈 仪表板 - 在仪表板中可视化您的工作数据,以便您查看实时和历史统计数据。

  • 💯 数据质量 - 验证每个作业中的字段覆盖率,因此可以立即检测到损坏的解析器。

  • 📉 自动健康检查 - 自动检查每个工作的绩效数据与其 7 天移动平均值,看看它是否健康。

  • ✔️ 自定义健康检查 - 使用您为其启用的任何自定义健康检查检查每个作业。

  • 警报 - 如果您的任何工作不健康,请通过电子邮件、Slack 等向您发出警报。

  • 📑 报告 - 生成每日(定期)报告,根据您的标准检查所有工作,并让您知道一切是否健康。

跟踪的工作统计数据包括:

  • ✅ 页面被刮掉和遗漏

  • ✅ 解析和遗漏的项目

  • ✅ 项目领域覆盖率

  • ✅ 运行时

  • ✅ 响应状态码

  • ✅ 成功率

  • ✅ 延迟

  • ✅ 错误和警告

  • ✅ 带宽


集成

将 ScrapeOps 与您的 Scrapyd 服务器集成有两个步骤:

  • 安装 ScrapeOps Logger 扩展

  • 将 ScrapeOps 连接到您的 Scrapyd 服务器

注意: 您无法将 ScrapeOps 连接到本地运行的 Scrapyd 服务器,并且不提供可连接的公共 IP 地址。

设置完成后,您将能够从一个仪表板安排、运行和管理所有 Scrapyd 服务器。

第一步:安装 Scrapy Logger 扩展

为了让 ScrapeOps 监控您的爬虫、创建仪表板并触发警报,您需要在每个 Scrapy 项目中安装 ScrapeOps 记录器扩展。

只需安装 Python 包:

pip install scrapeops-scrapy

进入全屏模式 退出全屏模式

并在您的settings.py文件中添加 3 行:

## settings.py

## Add Your ScrapeOps API key
SCRAPEOPS_API_KEY = 'YOUR_API_KEY'

## Add In The ScrapeOps Extension
EXTENSIONS = {
 'scrapeops_scrapy.extension.ScrapeOpsMonitor': 500, 
}

## Update The Download Middlewares
DOWNLOADER_MIDDLEWARES = { 
'scrapeops_scrapy.middleware.retry.RetryMiddleware': 550, 
'scrapy.downloadermiddlewares.retry.RetryMiddleware': None, 
}

进入全屏模式 退出全屏模式

从那里,您的抓取统计信息将被自动记录并自动发送到您的仪表板。

第 2 步:将 ScrapeOps 连接到您的 Scrapyd 服务器

下一步是向 ScrapeOps 提供 Scrapyd 服务器的连接详细信息,以便您可以从仪表板管理它们。

在您的仪表板中,转到服务器页面并单击页面顶部的添加 Scrapyd 服务器

然后在下拉部分中输入您的连接详细信息:

  • 服务器名称

  • 服务器域名(可选)

  • 服务器IP地址

设置完成后,您现在可以使用 ScrapeOps 调度程序安排您的抓取作业定期运行,并在您的仪表板中监控您的抓取结果。

ScrapeOps 仪表板演示

总结

ScrapeOps是一款功能强大的网页抓取监控工具,它为您提供开箱即用的网页抓取所需的所有监控、警报、调度和数据验证功能。

现场演示:ScrapeOps 演示

优点

  • 免费无限社区计划。

  • 简单的 30 秒安装。

  • 托管解决方案,因此不需要启动服务器。

  • 完整的 Scrapyd JSON API 支持。

  • 包括开箱即用的最全功能的抓取监控、健康检查和警报。

  • 客户支持团队,可帮助您进行设置和添加新功能。

缺点

  • 不是开源的,如果你喜欢的话。

#2 ScrapydWeb

最流行的开源 Scrapyd 仪表板,ScrapydWeb对于任何寻求可以与其 Scrapyd 服务器集成的强大蜘蛛管理工具的人来说都是一个很好的解决方案。

Scrapydweb 仪表板

使用 ScrapydWeb,您可以在单个仪表板上安排、运行和查看所有服务器上所有作业的统计信息。 ScrapydWeb 支持所有 Scrapyd JSON API 端点,因此也可以在抓取过程中停止作业并删除项目,而无需登录到您的 Scrapyd 服务器。

当与LogParser结合使用时,ScrapydWeb 还将从您的服务器中提取您的 Scrapy 日志并将它们解析为更易于理解的方式。

ScrapydWeb 具有许多其他开源 Scrapyd 仪表板所没有的强大功能,即能够轻松地将多个 Scrapyd 服务器连接到您的仪表板,使用相同的命令在多个节点上执行操作,并在 Scrapyd 服务器上自动打包您的蜘蛛。

虽然,ScrapydWeb 有很多爬虫管理功能,但它的监控/作业可视化能力相当有限,而且如果你打算完全依赖它作为你的主要爬虫监控解决方案,它还存在许多用户体验问题,使其不太理想.

总结

如果您想要一个易于使用的开源 Scrapyd 仪表板,那么 ScrapydWeb 是一个不错的选择。它是目前最流行的开源 Scrapyd 仪表板,并且内置了很多功能。

优点

  • 开源。

  • 强大且经过实战考验的 Scrapyd 管理工具。

  • 很多蜘蛛管理功能。

  • 最好的多节点服务器管理功能。

缺点

  • 有限的作业监控和数据可视化功能。

  • 没有客户支持


#3 Gerapy

接下来,在我们的列表中是Gerapy。它在 Github 上有 2.6k 星,是另一个非常流行的开源 Scrapyd 仪表板。

Gerapy 使您能够从单个仪表板安排、运行和控制所有 Scrapy 刮板。与此列表中的其他人一样,它的目标是使管理分布式爬虫项目更容易,更省时。

Gerapy 仪表板

Gerapy 拥有以下特性和功能:

  • 爬虫运行控制更方便。

  • 更实时地查看爬取结果。

  • 更轻松的定时任务。

  • 更容易的项目部署。

  • 更统一的主机管理。

  • 更容易编写爬虫代码。

与 ScrapydWeb 不同,Gerapy 还内置了可视化代码编辑器。因此,如果您想进行快速更改,您可以直接从 Gerapy 仪表板编辑您的项目代码。

Gerapy 可视化编辑器

总结

Gerapy 是开源 ScrapydWeb 的绝佳替代品。它将允许您使用单个仪表板管理多个 Scrapyd 服务器。

但是,它不会从您的日志文件中提取作业统计信息,因此您无法像使用 ScrapydWeb 那样在单个视图中查看所有作业抓取结果。

优点

  • 开源,维护者非常活跃。

  • 强大的 Scrapyd 管理工具。

  • 完整的蜘蛛管理功能。

  • 能够在仪表板中编辑蜘蛛。

缺点

  • 有限的作业监控和数据可视化功能。

  • 没有等效的日志解析功能,如LogParser与 ScrapydWeb。

  • 没有客户支持


#4 SpiderKeeper

SpiderKeeper是另一个基于旧 Scrapinghub Scrapy Cloud 仪表板的开源 Scrapyd 仪表板。

SpiderKeeper 曾经是一个非常流行的 Scrapyd 仪表板,因为它具有强大的功能并且看起来不错。

但是,由于其他仪表板项目的启动以及不再维护的事实(最后一次更新是在 2018 年,以及许多开放的拉取请求),它已经失宠。

SpiderKeeper 仪表板

SpiderKeeper 是 ScrapeOps、ScrapydWeb 或 Gerapy 提供者的功能的更简单实现,但是,它仍然涵盖了所有基础知识:

  • 从仪表板管理您的 Scrapy 蜘蛛。

  • 安排定期作业自动运行。

  • 只需单击一下即可将蜘蛛部署到 Scrapyd。

  • 基本蜘蛛统计数据。

  • 完整的 Scrapyd API 支持。

总结

SpiderKeeper 是一个很棒的开源 Scrapyd 仪表板,但是,由于它多年来没有得到积极维护,我们建议使用列表中的其他选项之一。

优点

  • 开源。

  • 涵盖所有基础的良好功能。

  • 能够在仪表板中部署蜘蛛。

缺点

  • 未积极维护,2018 年最后一次更新。

  • 有限的作业监控和数据可视化功能。

  • 没有客户支持


#5 Crawlab

虽然Crawlab不是 Scrapyd 仪表板,但如果您正在寻找一种从一个中央管理仪表板管理所有蜘蛛的方法,它绝对是一个有趣的工具。

Crawlab 是一个基于 Golang 的分布式网络爬虫管理平台,用于蜘蛛管理,不受语言和框架的限制。这意味着您可以将它与任何类型的蜘蛛一起使用,无论是基于 Python 请求、NodeJS、Golang 等的蜘蛛。

Crawlab 仪表板

如果您决定在未来离开 Scrapy 或需要创建 Puppeteer 刮板来抓取特别困难的网站,Crawlab 不是特定于 Scrapy 的事实为您提供了巨大的灵活性,那么您可以轻松地将刮板添加到您的 Crawlab 设置中。

在列表中的开源工具中,Crawlab 是迄今为止最全面的解决方案,具有一系列特性和功能:

  • 自然支持开箱即用的分布式蜘蛛。

  • 安排 cron 作业

  • 任务管理

  • 结果导出

  • 在线代码编辑器

  • 可配置的蜘蛛。

  • 通知

它的唯一缺点之一是在您自己的服务器上设置它需要一些学习曲线。

在撰写本文时,它是此列表中最活跃的开源项目。

总结

Crawlab 是一个非常强大的爬虫管理解决方案,具有广泛的功能,对于运行多种类型爬虫的人来说,它是一个很好的选择。

优点

  • 开源,积极维护。

  • 非常强大的功能。

  • 能够部署任何类型的爬虫(Python、Scrapy、NodeJS、Golang 等)。

  • 非常好的文档。

缺点

  • 作业监控和数据可视化功能可能会更好。

  • 没有客户支持

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐