将 Scrapy 爬虫部署到 ScrapingHub

17 Mar 2025 | 4 分钟阅读

什么是 Scrapy Spider?

Spider 是用于指定如何抓取特定网站(或一组网站)的类,包括如何进行爬取(即,跟踪链接)以及如何从其页面中提取结构化数据(即,抓取项目)。换句话说,抓取特定网站(或在某些情况下,一组网站)的专门行为是在 spider 中定义的。Scrapy Spider 类允许用户跟踪网站链接并从网页中检索信息。这是所有其他 spider 都必须继承的主要类。

什么是 ScrapingHub?

Scrapinghub 是一个用于管理 Scrapy spider 的开源工具。Scrapinghub 将网络内容转换为有用的信息或数据。即使是复杂的网页,它也允许我们提取数据。它提供不同的服务来从网页爬取数据。

为什么要使用 ScrapingHub?

ScrapingHub 为在云端部署 Scrapy Spider 提供了不同的功能,这使得 Spider 可以运行 24 小时(免费用户)或 7 天(付费用户)。

在 Python 中安装 Scrapy 库

在 Python 中导入 Scrapy 库

现在我们将把 Scrapy Spider 部署到 ScrapingHub。为此,我们必须遵循以下步骤

步骤 1:创建一个 Scrapy 项目

要在终端中开始一个新项目,请运行此命令

项目名称可以更改。

步骤 2:为任何网站构建 Scrapy Spider

在这里,我们将为任何目标网站编写一个Scrapy Spider,例如“javatpoint.com”。

代码

通过此操作,您可以抓取网站并从中提取信息。我们必须将链接保存在 json 文件中。但是,这里的问题陈述是将 Scrapy Spider 部署到 ScrapingHub 以节省时间并运行至少 24 小时。让我们将 spider 部署到 ScrapingHub。

步骤 3:在 ScrapingHub 上创建帐户

打开 ScrapinHub 登录页面 并使用 Gmail 或 Github 帐户登录。它将打开登录页面。ScrapingHub 现在是 Zyte

Deploying Scrapy Spider on ScrapingHub

步骤 4:启动新项目

登录主页后,它将重定向到仪表板。

  • 现在,转到Scrapy Cloud
  • 点击“启动新项目
  • 输入项目名称
  • 然后,点击“启动”。
Deploying Scrapy Spider on ScrapingHub
Deploying Scrapy Spider on ScrapingHub

当我们启动项目时,我们可以在屏幕上看到不同的部署选项。我们可以通过命令行或 github 存储库部署我们的项目。

Deploying Scrapy Spider on ScrapingHub

使用Scrapy 选项,因为我们的项目基于 Scrapy 框架。

步骤 5:部署

1. 首先,我们需要使用命令行安装 shub。因为我们正在使用 shub 部署我们的项目。

2. 安装 shub 后,使用部署屏幕上显示的 API 密钥登录 shub 帐户。 shub 可以使用命令行登录

3. 用户登录到 shub 帐户并输入API 密钥。现在,是时候部署我们的项目了。我们可以使用此命令行部署我们的项目

它会要求部署 ID。我们必须在 Scrapy Cloud 部署选项屏幕上输入六位数的部署 ID

4. 输入部署 ID 后,返回到 Spider Dashboard。我们可以看到 Spider 已准备好进行部署。

5. 现在我们必须点击项目名称,然后点击“运行”按钮。我们可以在仪表板上看到我们的 spider 正在运行。

它说明用户最多可以运行 spider 24 小时;它将在该时间段后自动停止。我们也可以购买付费订阅以获得更长的时间。

单击正在运行的 spider 下的对象后,页面将重定向到一个新页面,其中包含当时正在抓取的项目的所有详细信息。我们可以看到抓取项目的图表。我们可以将详细信息导出为本地系统中的 JSON 文件。

我们应该记住,抓取是非法的,未经许可不得进行。本教程仅用于学习目的。