跳到主要内容

如何在云端运行 Screaming Frog SEO Spider

2024-07-03

我们最新的指南介绍了如何使用 Google Compute Engine 在云端运行 Screaming Frog SEO Spider。凭借扩展虚拟机的功能,抓取的潜力是无限的。


简介

虽然 Screaming Frog SEO Spider 是桌面软件,但由于其可配置的混合存储引擎,它能够抓取数百万个 URL

对于大多数人来说,内存存储的速度和灵活性以及数据库存储的高可扩展性足以满足所有需求。

但是,在这两种情况下,您的机器仍然需要运行,如果您经常抓取大型网站,您可能不希望长时间保持计算机开启。

也许您想在 Google Data Studio 中完全自动化抓取报告,但同样您也不想担心在计划运行时让您的机器保持开启状态。

值得庆幸的是,有一个解决方案:


为什么要在云端运行 Screaming Frog SEO Spider?

在云端运行 SEO Spider 可能会改变游戏规则,原因有几个。

主要优势之一是,使用 Spider 许可证,您将能够在云端运行所需数量的 SEO Spider 实例。(**注意:**任何实例的任何用户都需要自己的单独许可证。)

这意味着您可以在笔记本电脑上使用 SEO Spider 运行一些快速抽查,同时在云端并发运行更大的抓取(或多个!),所有这些每年只需 199 英镑。这可以释放您的本地资源以用于其他任务,而且还具有不必让您的机器运行以完成抓取的额外好处。

除此之外,在云端运行它,将 SEO Spider 变成云爬虫,使您可以从任何地方访问正在进行或已完成的抓取,因此您可以轻松获得所需的信息。


成本和功能

这在很大程度上取决于所需的虚拟机实例、您的需求以及您正在抓取的网站。

Google 的 Compute Engine 允许您部署一些非常强大的机器,如果您知道您正在处理的网站的限制,您可以非常高效地抓取大量的 URL。

为了给您一个潜在成本和功能的示例:

  • 为了本指南的目的,使用了具有 8 个 vCPU、32GB 内存和 200GB SSD 的 VM 实例
  • 我们使用数据库存储模式抓取了 310 万个 URL,这花费了大约 2 天的时间。由于这不是一项时间敏感的任务,因此速度有所降低,更加安全。如果您了解您网站的功能,则可以提高此速度。
  • 成本低于 20 英镑 的 Google Cloud Platform 费用(他们免费提供 300 美元的信用额度)。

重要的是要注意,您将根据使用量付费,我们将讨论您可以尝试降低成本和/或设置预算警报的方法。

如果您需要以更快的速度抓取更大的站点,您可以轻松地扩展 VM 实例及其 SSD 大小。

您可以使用Screaming Frog 的许可版本在任意数量的 VM 实例上执行此操作。(**注意:**任何实例的任何用户都需要自己的单独许可证。)


你需要什么

有几种不同的方法可以在云端或服务器上运行 SEO Spider,包括使用无头模式。有些方法比其他方法更节省资源,但本指南侧重于让您在几分钟内启动并运行。

Google Cloud Compute 根据您的使用情况收费,这意味着您可以启动 VM(虚拟机),抓取您想要的内容,导出您需要的一切,然后终止它以避免额外的费用。

或者,您可以让 VM 运行任意长时间,例如,如果您想设置计划的抓取和导出,但显然这会产生额外的费用。

要开始使用,您需要:

  • 15-20 分钟的时间
    • 虽然它看起来冗长且令人困惑,但一旦您熟悉这些步骤,此过程可以缩短到 10 分钟左右。
  • Screaming Frog SEO Spider 许可证
    • 许可证是按用户收费的,因此您需要为每个将访问它的用户提供一个许可证。
  • Google Cloud 项目
    • 具有与项目关联的有效结算方式。
  • Google Chrome
  • 如果您想使用自定义配置文件,您还需要导出它。为此,请在您的本地机器上打开 SEO Spider,设置所需的配置,然后转到“文件 > 配置 > 另存为”。

1. 开始

首先,您需要创建一个 Google Cloud 项目。随意调用您想要的名称:

创建新项目

创建并选择项目后,不要被压倒性和令人困惑的设置所吓倒。我们主要将在左侧的 Compute Engine 中完全工作:

Compute Engine 按钮

单击“Compute Engine”,如果您尚未设置,系统将提示您设置结算帐户。如前所述,如果您是新手,您将获得 300 美元的信用额度(如果您幸运的话,有时是 400 美元)。

关于结算,您将被收取超过初始免费信用额度的使用费。如果您担心您会意外地让某些东西运行并累积费用,我们建议在您的帐户上设置预算以防止这种情况发生。这意味着如果您即将达到预算,您将收到电子邮件警报,并且可以采取相应的措施。

请务必阅读“终止 VM 实例”部分,以获取有关如何在完成本教程后避免不必要费用的说明。


2. 创建 VM 实例

设置结算后,您将被带回到 Compute Engine API 页面,您需要在其中单击“启用”:

启用 Compute Engine

按下“启用”后,有时可能需要一些时间才能加载。

现在我们准备部署虚拟机。单击左侧的 Compute Engine:

Compute Engine 按钮

单击“创建实例”:

创建实例

我们现在能够使用我们选择的规范构建我们的 VM 实例。不同的网站将有不同的需求,但为了本指南的目的,我们组装了一个 VM,允许我们抓取超过 300 万个 URL - 所有这些都低于 20 英镑。

区域

除非从特定位置进行抓取是必不可少的,否则通常最好选择具有更便宜的每月估算值和/或低 CO2 排放量的区域。在撰写本文时,爱荷华州被标记为低 CO2 排放量,并且产生了最低的每月估算值。

实例区域

机器配置

对于此用例,我们使用了 计算优化 机器系列,它们比通用机器性能更高,并且适用于计算密集型工作负载。

我们将使用 C2 系列和 c2-standard-8 机器类型。此 VM 拥有 8 个 vCPU 和 32GB 内存,这足以进行操作。

VM 机器类型

启动磁盘

接下来,我们需要选择一个启动磁盘。默认设置对我们没有用,因为我们希望在 Ubuntu 上以及在 SSD 上运行。单击“更改”按钮:

启动磁盘更改

将操作系统更改为 Ubuntu,版本更改为 Ubuntu 20.04 LTS,启动磁盘类型更改为 SSD 永久磁盘,大小更改为 200GB:

启动磁盘

当使用数据库存储模式(用于抓取大型站点)时,Screaming Frog SEO Spider 通常在 SSD 上运行得更好。虽然有很多注意事项,但作为一个粗略的例子,具有 500GB SSD 和 16GB RAM 的机器应该允许您抓取大约 1000 万个 URL。

如果您想从您的 VM 实例上传到 Google 的存储桶(稍后会详细介绍),您还需要调整一些权限。

在“访问范围”下,单击“为每个 API 设置访问权限”:

访问范围

然后向下滚动并将“存储”设置为“读/写”:

存储

在执行此操作时,您可能会注意到估计的每月费用。对于我们的设置,在撰写本文时约为 277.89 美元。值得注意的是,这是假设此 VM 将持续运行,而对于此任务而言并非如此。如果您想要更准确的估算值,您可以使用 Google Cloud 价格计算器

现在就这样,继续单击“创建”,您的 VM 实例将在几秒钟内准备就绪。


3. 安装 Chrome 远程桌面

接下来,我们需要安装 Chrome 远程桌面,以便于访问。继续单击 VM 实例页面上您闪亮的新 VM 实例旁边的 SSH 按钮:

SSH 连接

不要被这个新窗口看起来多么令人困惑所吓倒,一切都将被解释,或者您可以直接复制并粘贴命令。

**提示:**单击代码片段以将其复制到您的剪贴板。

首先,键入以下命令并按 Enter 键:

sudo apt update

sudo apt update

此命令用于从所有配置的源下载和更新软件包信息。当您运行此命令时,您实际上是在检查是否有任何新的软件更新并记录它们。

接下来,我们需要运行:

sudo apt install --assume-yes wget tasksel

此命令安装 wget,这是一个使用 HTTP、HTTPS、FTP 和 FTPS 检索文件的软件包。Tasksel 是一个工具,允许您将多个软件包作为“任务”安装在您的服务器上,而不是一次安装所有软件包。“--assume-yes”只是在安装过程中对所有提示回答“是”。

接下来,使用以下命令下载 Chrome 远程桌面:

wget https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb

然后安装它:

sudo apt-get install --assume-yes ./chrome-remote-desktop_current_amd64.deb

**注意:**最新的 Chrome 远程桌面软件包一直导致问题和错误。如果您遇到这些问题,您可以按照此 Stack Overflow 线程安装旧版本,直到问题得到解决。感谢 Mark Ginsberg 指出这一点。

Ubuntu 在桌面环境下更容易使用,如果您熟悉 Windows 和 Mac,您就可以很好地使用 Ubuntu。

运行以下命令以安装 Ubuntu 桌面环境:

sudo tasksel install ubuntu-desktop

您将看到一个略有不同的屏幕,其中包含安装进度条,您可以在完成后继续。

接下来,我们需要告诉 Chrome 远程桌面使用 Gnome,它是 Ubuntu 的默认桌面环境:

sudo bash -c ‘echo “exec /etc/X11/Xsession /usr/bin/gnome-session” > /etc/chrome-remote-desktop-session’

您将看到一条“权限被拒绝”消息。不用担心,我们花了几个小时挠头试图解决这个问题,所以您不必这样做。基本上,您可以忽略此消息。

现在需要使用以下命令重新启动 VM 实例:

sudo reboot

您将立即失去连接,但关闭 SSH 窗口,稍等片刻后,您将能够再次单击 SSH 按钮以重新连接。

现在最小化 SSH 窗口,然后在您的本地机器上转到 Chrome 远程桌面,以便我们可以在 VM 实例上设置它。

单击“开始”:

CRD 开始

然后“下一步”(我们已经安装了它):

CRD 下一步

然后“授权”:

CRD 授权

您现在将看到在您的 VM 实例上启动和授权 Chrome 远程桌面的命令。复制 Debian Linux 的代码:

CRD 复制代码

然后使用 Ctrl+V 将其粘贴到您的 SSH 窗口中并按 Enter 键。

系统将提示您创建一个 6 位数的 PIN 码,您需要该 PIN 码才能从 Chrome 远程桌面访问 VM 实例。**注意:**当您输入 PIN 码时,不会出现任何字符,您的键盘没有坏。

创建 PIN 码后,您可能会看到一些错误消息,但可以忽略这些消息。

要验证 Chrome 远程桌面是否正在运行,您可以使用以下命令:

sudo systemctl status --no-pager chrome-remote-desktop@$USER

如果您在“Active:”旁边看到绿色文本显示“active (running)”,则一切顺利:

CRD 激活

再次转到 Chrome 远程桌面,您现在应该会看到您的 VM 实例(如果您已打开该页面,则可能需要刷新该页面):

CRD 远程

去点击它。然后输入您的 6 位数 PIN 码。您应该会看到一个类似于以下的屏幕:

点击“OK”,系统会要求您输入密码,但您可以直接点击“取消”:

点击“Next”(下一步):

如果需要,更改您的键盘布局,然后点击“Next”(下一步):

再次点击“Next”(下一步):

最后,点击“Start Using Ubuntu”(开始使用 Ubuntu):

现在您将看到 Ubuntu 桌面,我们可以开始抓取了!

注意: 如果在任何时候,您在一段时间不活动后退出了 Ubuntu,但您没有设置密码,请前往我们的故障排除部分


4. 安装 Screaming Frog SEO Spider

将 Screaming Frog SEO Spider 下载到您的新 VM 实例上的最简单方法是返回到您的 SSH 窗口,并使用以下命令:

wget -c https://download.screamingfrog.co.uk/products/seo-spider/screamingfrogseospider_16.7_all.deb

注意: 在撰写本文时,这是正确的版本号,但所有旧版本号都应重定向到最新版本,无论如何。

要安装它,请使用:

sudo apt install ./screamingfrogseospider_16.7_all.deb

(再次:根据需要更改此版本号)

它会提示您回答,是或否。输入“y”并按 Enter 键:

现在您将看到来自 Microsoft 的 EULA。 ttf-mscorefonts-installer 是一个包含一组字体的 Debian 软件包。要接受它,请按一次 Tab 键,使“OK”突出显示为红色,然后按 Enter 键:

同样,对于下一个屏幕,按一次 Tab 键选择“Yes”,然后按 Enter 键:

安装完成后,您将看到类似于以下内容:

恭喜,您现在已在云端安装了 Screaming Frog SEO Spider,可以通过 Chrome Remote Desktop 轻松访问。要打开它,请点击“Activities”(活动),开始搜索它并点击图标:


5. 输入您的 Screaming Frog SEO Spider 许可证详细信息

在开始抓取之前,您需要根据自己的喜好配置 SEO Spider。首先,接受您第一次运行它时弹出的 EULA:

从这里开始,事情应该开始看起来很熟悉。

接下来,我们将通过点击“Licence”(许可证),然后点击“Enter Licence…”(输入许可证…)(或者如果您还不是所有者,则点击“Buy a Licence”(购买许可证))来输入我们的许可证详细信息:

默认情况下,Chrome Remote Desktop 不会与您的本地计算机共享您的剪贴板。为此,请点击窗口右侧的箭头:

点击“Enable Clipboard Synchronisation”(启用剪贴板同步)下的“Begin”(开始),然后在 Chrome 提示时点击“Allow”(允许)。您应该会看到一条消息,提示“You’re ready!”(您已准备就绪!)。

您还会注意到此处还有许多其他 Chrome Remote Desktop 设置,如果显示不正确,可以帮助您调整屏幕大小等。

现在我们可以轻松地将我们的许可证详细信息粘贴到 SEO Spider 中:

如果一切顺利,您将看到一条“Licence valid”(许可证有效)消息,并提示您重新启动 SEO Spider。这样做,您就可以开始了!


6. 配置存储模式和内存分配

默认情况下,SEO Spider 使用 RAM 而不是您的硬盘来存储和处理数据。这提供了惊人的好处,例如速度和灵活性,但它也有缺点,最值得注意的是,大规模抓取。

SEO Spider 可以配置为将抓取数据保存到磁盘,方法是选择“Database Storage”(数据库存储)模式(在“File > Settings > Storage Mode”(文件 > 设置 > 存储模式)下),这使其能够以前所未有的规模进行抓取,同时保留相同、熟悉的实时报告和可用性。

如果您正在抓取大型网站,我们强烈建议您切换到数据库存储模式并增加您的内存分配。这将允许您在所选 VM 实例规范的范围内抓取数百万个 URL 的网站。

要切换到数据库存储模式,请在您的 VM 实例上打开 SEO Spider,然后导航到“File > Settings > Storage Mode”(文件 > 设置 > 存储模式):

数据库存储模式

除此之外,我们还建议增加内存分配。您可以通过点击“File > Settings > Memory Allocation”(文件 > 设置 > 内存分配)来调整 SEO Spider 中的内存分配:

内存分配

本指南中使用的 VM 实例具有 32GB 的 RAM。这意味着您可以潜在地分配 30GB 的 RAM,因为我们始终建议比您的可用总 RAM 少 2GB,以避免崩溃。虽然每个网站都不同,但分配 6GB 的 RAM 应该足以抓取 300 万个 URL。

如果需要,您可以使用具有更高内存和更大 SSD 容量的 VM 实例。


7. 导入自定义 SEO Spider 配置

您的 VM 实例上的 SEO Spider 安装将具有默认设置,但如果您想加载自己的配置,您可以简单地导出它,以避免重新配置的麻烦。

为此,请在您的本地计算机上打开使用您所需配置的 SEO Spider。然后转到 File > Configuration > Save As…(文件 > 配置 > 另存为…):

接下来,我们需要将 .seospiderconfig 文件上传到我们的 VM 实例。前往您的 SSH 窗口,然后点击右上角的向上箭头:

点击“Choose Files”(选择文件),然后选择您导出的 .seospiderconfig 文件,然后点击“Upload Files”(上传文件):

在您看到右下角上传窗口旁边的绿色勾号后,返回到您的 Chrome Remote Desktop 窗口,打开 SEO Spider,然后点击 File > Configuration > Load(文件 > 配置 > 加载)。

选择文件,然后点击“Open”(打开):

如果一切顺利,您将在 SEO Spider 中看到一条成功消息:

您的自定义 Screaming Frog SEO Spider 配置现在可以开始了!

还有其他方法可以将文件传输到您的 VM 和从您的 VM 传输文件


8. 从 VM 实例导出较小的文件

从在您的 VM 实例上运行的 SEO Spider 导出很简单,但有不同的方法可以做到这一点。

如果您要导出较小的文件(小于 1GB),我们建议您将任何报告和导出保存到默认位置,并记下名称和目录:

返回到您的 SSH 窗口,点击右上角的向下箭头:

输入文件路径。对于上面的示例,它将是 internal_html.csv

如果您将其保存在默认位置以外的任何位置,例如在文件夹中,您需要相应地更改文件路径。点击“Download”(下载),文件将在本地下载:

此方法快速简便,但只允许您一次下载一个文件,并且较大的文件传输速度可能较慢。例如,下载大小为 1.2GB 的导出大约需要 1.5 – 2 小时,但这取决于您的 VM 实例的位置和您的网络速度。


9. 使用存储桶导出多个或更大的文件

如果您需要导出多个文件或更大的文件,我们建议您利用 Google 的存储桶。上面的 1.2GB 文件仅用了 10 秒钟就从 VM 实例上传到存储桶,然后使用与之前相同的连接在不到 1 分钟的时间内下载。

要使用此方法,首先,导航到 Google Cloud Storage 以创建一个新的存储桶:

存储桶名称必须是唯一的,因此请避免使用过于通用的名称:

现在您可以指定数据的位置,这因具体情况而异。如果您打算长时间保留存储桶并定期导出到其中,例如,如果您要自动化 XML 站点地图,那么您应该考虑最适合该存储桶的位置。

对于一次性的大型抓取,一旦您下载了所有内容,您可能想要删除存储桶,因此位置并不重要。就本指南而言,我们选择了爱荷华州作为我们的区域:

您还可以选择您的存储类别。对于此用例,可以将其保留为“Standard”(标准):

点击“Create”(创建),您现在将拥有一个 Google Cloud 存储桶用于上传。

要从您的 VM 实例传输到存储桶,您可以在您的 SSH 窗口中使用以下命令:

gsutil cp -r gs://BUCKET-NAME/

例如,我们将 Internal 选项卡导出到我们 VM 实例上的默认位置,并且我们的存储桶名为 sf-crawl-storage,因此该命令将是:

gsutil cp -r internal_all.csv gs://sf-crawl-storage/

如果一切顺利,您将看到以下输出:

如果您现在导航到您的存储桶,您将看到该文件在那里供您随时下载:

存储桶非常适合用于从您的 VM 实例传输大型文件或多个文件,但它们也为自动化提供了许多机会。


10. 从快照创建 VM 实例

一旦您多次运行上述过程,就有可能在 10 分钟内启动并运行。但是,也可以创建 VM 实例的快照,然后您可以使用该快照来创建未来的 VM 实例。

这意味着 VM 将已设置为抓取,并且您的 SEO Spider 将配置有您的许可证详细信息。您无法在此处包含的唯一部分是 Chrome Remote Desktop 设置,因为所需的代码每次都会不同。

如果您想创建快照,一旦您启动并运行并且已将所有内容配置为您喜欢的样子,请前往 Snapshots 并点击“CREATE SNAPSHOT”(创建快照):

输入名称、描述(可选)并选择您所需的源磁盘 – 这将是您已完全配置的 VM 实例。

在此示例中,快照只是保存在与 VM 实例相同的区域(爱荷华州):

点击底部的“CREATE”(创建)以保存快照。

当需要基于您配置的机器启动 VM 实例时,再次点击左侧的 Compute Engine:

点击“CREATE INSTANCE”(创建实例):

按照本指南的开头(或根据需要)配置 VM 实例,然后向下滚动到“Boot disk”(启动磁盘)并点击“CHANGE”(更改):

然后选择“SNAPSHOTS”(快照),选择正确的快照,将您的启动磁盘类型配置为 SSD,并设置所需的大小:

您可以每次都更改 VM 实例规格和启动磁盘大小,因此您可以根据手头的任务轻松地向上或向下扩展它。

如果您打算使用存储桶,请不要忘记调整访问范围。

当您对一切都满意时,点击“CREATE”(创建)。

如前所述,此 VM 实例将配置为与您的快照源相同,保留您的 SEO Spider 配置和许可证详细信息,以便进行抓取。但是,Chrome Remote Desktop 将无法工作,因为设置命令中的代码每次都会有所不同。

如前所述,前往您本地计算机上的 Chrome Remote Desktop,然后将访问代码复制并粘贴到您新创建的 VM 实例的 SSH 窗口中。

同样,您需要设置一个六位数的 PIN 码,一旦您完成了此操作,您现在应该在您的 Chrome Remote Desktop Devices 下看到您的新 VM 实例:

创建快照的此过程节省了启动 VM 实例的时间,并且能够根据手头的任务调整 VM 规范。

快照会产生维护成本,但在撰写本文时,维护已配置 VM 实例的 200GB 快照的成本约为每月 5 美元。


11. 终止 VM 实例和存储桶

完成您所需的任务后,您可以轻松终止 VM 实例,以避免不必要的费用。为此,请转到 VM 实例页面,点击右侧的三个点,然后点击“删除”:

您将丢失此 VM 实例中的所有内容,因此请仔细检查您是否已保存并导出所需的一切。

如果您创建了任何不再需要的存储桶快照,也可以以类似的方式删除它们。但是,将它们保留用于存储导出和抓取数据可能很有用,您的未来 VM 实例可以轻松访问这些数据。在撰写本文时,您可以预计每月每 GB 支付大约 0.020 美元,因此价格非常实惠。

最后,您还可以通过点击旁边的垃圾箱图标来删除您的 Chrome Remote Desktop 设备:

或者,您可以停止实例(在三个点菜单下),以便在需要时再次启动它。但是,附加到 VM 的任何资源(例如持久磁盘)将继续产生费用。


总结与潜在用例

恭喜!您现在知道如何在 VM 实例上运行 Screaming Frog SEO Spider,您或其他人员可以使用 Chrome Remote Desktop 从任何地方轻松访问它。

使用您付费的 Screaming Frog SEO Spider,每年花费 199 英镑,您可以创建任意数量的 VM 实例,抓取不同的网站并执行不同的任务。这是一种非常经济高效的云抓取方式,并且由于 Google VM 实例的可扩展性,您可以处理跨越数千万个 URL 的网站。

此外,保存和导出到云/Google 的存储桶开辟了大量额外的机会。从这里,您可以生成完全自动化的 XML 站点地图,导出到 Google Data Studio 等。


故障排除

退出 Ubuntu

在某些时候,您可能会注意到 Ubuntu 已自动注销您,并且要求您输入从未设置过的密码:

值得庆幸的是,解决方案很简单。打开您的 SSH 窗口并键入以下命令:

sudo passwd USERNAME

USERNAME 更改为屏幕上显示的用户名;在上面的示例中,它将是“markprtr”。

现在将提示您设置新密码,完成后您将能够登录。

您可以通过点击左上角的“Activities”并搜索“screen lock”来防止这种情况发生。关闭“Automatic Screen Lock”: