如何使用 ScrapydWeb 管理 Scrapy 项目

如何使用 ScrapydWeb 管理 Scrapy 项目

在本文中,我将向您介绍如何设置和使用 ScrapydWeb 来部署您的蜘蛛、监控它们的性能并安排任务,所有这些都可以在一个地方完成。从安装到扩展项目,我将涵盖您需要了解的一切,让您的工作流程更顺畅、更高效。

什么是 ScrapydWeb?

ScrapydWeb 是专为管理 Scrapyd 集群而设计的网络界面。Scrapyd 本身就是一款功能强大的工具,用于在分布式环境中运行和管理 Scrapy 蜘蛛。Scrapyd 在后台运行,处理不同服务器上蜘蛛的执行,而 ScrapydWeb 则提供了一个用户友好界面,用于与 Scrapyd 服务器交互。有了 ScrapydWeb,您可以直接从浏览器轻松地实时监控、控制和管理 Scrapy 蜘蛛。

为什么使用 ScrapydWeb?

虽然 Scrapyd 的 CLI 界面非常有用,但可能比较麻烦,尤其是在管理多个服务器和蜘蛛时。ScrapydWeb 有以下优点:

  • 集中管理:无论您有多少 Scrapyd 服务器,都可以从单一界面管理所有 Scrapy 项目。
  • 实时监控:直接从网络界面查看实时任务状态、日志和统计数据。
  • 日程安排:安排蜘蛛在特定时间和间隔运行。
  • 多服务器管理: 在单个 ScrapydWeb 实例中管理多个 Scrapyd 节点(服务器)。

ScrapydWeb 的主要功能

ScrapydWeb 提供了多项功能,可让管理 Scrapy 项目更加轻松:

  • 任务监测:查看刮削作业的实时更新,包括日志和性能指标。
  • 多节点集群管理:从一个界面管理多个 Scrapyd 服务器,无论它们是本地运行还是远程运行。
  • 计划清除工作:安排蜘蛛在特定时间和频率运行。
  • 移动模式:ScrapydWeb允许您通过移动设备管理服务器,从而实现随时随地访问。
  • 详细工作统计:访问每个任务、项目和服务器的详细日志和统计信息。
  • 警报:设置电子邮件、Slack 或 Telegram 通知,以获取有关作业状态、错误和性能的警报。

设置 ScrapydWeb

在开始使用 ScrapydWeb 之前,需要先在系统上安装并配置 Scrapyd 和 ScrapydWeb。下面是一份逐步指南,帮助你快速上手。

第 1 步:安装 Scrapyd 和 ScrapydWeb

ScrapydWeb 需要 Python 3 才能顺畅运行。继续之前,请确保系统已安装 Python。

要安装 Scrapyd、Scrapyd-Client(CLI 工具)和 ScrapydWeb,可以使用 pip:

pip3 install scrapyd scrapyd-client scrapydweb

安装完成后,就可以进行下一步了。

第 2 步:将 Scrapy 项目部署到 Scrapyd

现在,你需要将 Scrapy 项目部署到 Scrapyd 服务器。先启动 Scrapyd:

scrapyd

默认情况下,Scrapyd 通过 6800 端口运行。访问 Scrapyd 的方式如下 http://localhost:6800 在浏览器中。

接下来,将 Scrapy 项目连接到 Scrapyd 服务器。打开项目根目录下的 scrapy.cfg 文件,修改如下:

[settings]
default = product_scraper.settings
[deploy:local]
url = http://localhost:6800/
project = scraper

用 Scrapy 项目的设置替换 product_scraper.settings,并确保 url 设置为 Scrapyd 服务器地址(localhost:6800)。

使用 Scrapyd-Client 部署你的项目:

scrapyd-deploy local -p scraper

部署完成后,您应该会在 Scrapyd 网页界面(http://localhost:6800/)上看到 Scrapy 项目的列表。

第 3 步:启动 ScrapydWeb 服务器

要启动 ScrapydWeb,请运行以下命令:

废网页

这将在 http://localhost:5000/ 默认情况下。在浏览器中打开此 URL,就能看到 ScrapydWeb 界面。

第 4 步:配置 ScrapydWeb

启动 ScrapydWeb 服务器后,需要对其进行配置,以便连接到 Scrapyd 服务器。打开项目根目录下的 scrapydweb_settings_v11.py 文件,用 Scrapyd 服务器地址更新 SCRAPYD_SERVERS 列表:

报废服务器 = [
"127.0.0.1:6800",
]

完成后,重启 ScrapydWeb 服务器。现在你可以通过 ScrapydWeb 界面管理你的 Scrapyd 服务器。

管理多个 Scrapyd 服务器

随着刮削需求的增长,您可能希望扩展和使用多个 Scrapyd 服务器。ScrapydWeb 可让您在一个地方轻松管理多个服务器。

要在不同端口上设置另一个 Scrapyd 服务器,请按照以下步骤操作:

在第二个项目的根目录下创建一个新的 scrapyd.conf 文件,指定一个新端口(如 6802):

[废料]
http_port = 6802

更新新项目中的 scrapy.cfg 文件,使其指向这个新端口:

[settings]
default = product_scraper.settings
[deploy:local]
url = http://localhost:6802/
project = 产品刮板

使用 Scrapyd-Client 部署新项目:

scrapyd-deploy local -p product_scraper

更新第一个项目中的 scrapydweb_settings_v11.py 文件,添加新服务器:

报废服务器 = [
"127.0.0.1:6800",
"127.0.0.1:6802",
]

现在,当您打开 ScrapydWeb 时,会看到两个服务器都在列表中。您可以在同一个界面上管理和部署两个服务器的蜘蛛。

运行和调度 Scrapy 蜘蛛

使用 ScrapydWeb,您可以轻松地在不同服务器上运行和调度蜘蛛。

运行蜘蛛

要运行蜘蛛,请按照以下步骤操作:

  1. 打开 ScrapydWeb (http://localhost:5000/) 并转到 服务器 标签。
  2. 选择包含所需项目的 Scrapyd 服务器。
  3. 点击 运行蜘蛛 选项卡,然后选择要运行的蜘蛛。
  4. 您可以通过切换 设置和参数 开关。
  5. 点击 检查 CMD然后点击 运行蜘蛛 来执行蜘蛛。

你会看到蜘蛛在 ScrapydWeb 中的状态变为 "正在运行"。

安排蜘蛛

安排蜘蛛在特定时间或间隔运行:

  1. 从 服务器 标签。
  2. 点击 运行蜘蛛 选项卡,然后选择蜘蛛。
  3. 切换 定时器任务 开关来设置时间表。
  4. 您可以指定蜘蛛的开始和结束日期,以及运行间隔时间。
  5. 点击 检查 CMD然后点击 添加任务 来安排蜘蛛。

查看蜘蛛日志和统计

ScrapydWeb 可让您轻松访问蜘蛛日志和统计数据。您可以直接通过界面监控刮擦任务的性能和状态。

查看日志和统计数据:

    1. 前往 日志 部分。
    2. 选择要检查的项目和蜘蛛。
    3. 您将看到蜘蛛的执行日志,以及详细的抓取统计数据。

企业级搜索的强大替代方案

虽然 ScrapydWeb 非常适合管理自托管的 Scrapy 集群,但有时您需要一个真正可扩展、全面管理并能应对 IP 轮换和全球地理定位等高级挑战的解决方案。

例如,我曾经需要从一个知名的国际市场上抓取数千个产品列表,同时避免 IP 禁止并确保数据质量。使用 Bright Data 的 Scraper API,我能够无缝地 轮换 IP解决验证码问题这样,我就无需担心基础架构或本地部署问题,就能从数据库中提取干净、结构化的数据。这为我节省了大量时间,让我可以完全专注于数据提取逻辑。

如果您的项目越来越复杂或数量越来越多、 Bright Data 提供了一个出色、可靠的替代方案,非常适合大型、高频率的刮擦任务和对合规性敏感的使用案例。

与上述任何供应商均无关联!

结论

ScrapydWeb 是一款管理 Scrapy 项目和 Scrapyd 服务器的便捷工具。它通过一个易于使用的网络界面简化了部署、监控和调度蜘蛛的过程。无论您使用的是一台服务器还是多台服务器,ScrapydWeb 都能帮助您跟踪项目,确保刮擦任务顺利进行。

有了 ScrapydWeb,扩展网络刮擦项目变得更加容易。它的实时监控、调度选项和详细日志使其成为所有使用 Scrapy 的人的必备工具,为您节省了管理多个服务器和任务的时间和精力。

类似文章