谜致力打造黑帽SEO培训行业第一品牌
SEO优化服务:正规SEO培训教程、黑帽SEO培训技术
SEO行业资讯

当前位置:主页 > SEO行业资讯 > 如何在云端运行尖叫青蛙SEO蜘蛛

如何在云端运行尖叫青蛙SEO蜘蛛

来源:黑帽SEO培训 dozu.com.cn发布时间:2019/05/30

通过利用云提供商的强大功能和开源操作系统以及爬行分析工具,我们可以创建新的解决方案并将我们的搜索引擎优化提升到新的水平。
高级技术搜索引擎优化并非没有挑战,但幸运的是,我们可以使用市场上的许多工具。通过结合其中一些工具,我们不仅可以解决我们面临的挑战,还可以创建新的解决方案,并将我们的搜索引擎优化提升到一个新的水平。在本指南中,我将结合三种不同的工具,利用主要云提供商(Google Cloud),领先的开源操作系统和软件(Ubuntu)以及爬行分析工具(Screaming Frog SEO Spider)的强大功能。
使用每日计划抓取创建XML站点地图,并自动将这些站点地图公开提供给搜索漫游器,以便在抓取和索引您的网站时使用;
从重复爬行中获得您自己的个人内部SEO仪表板;
通过定期抓取最重要的页面,通过从不同位置启动CDN来提高用户的站点速度和搜索机器人;
从云中的稳定连接快速并行地运行爬网,而不是占用本地计算机上的内存和带宽。
结合SEO专业知识和对数据的深刻理解,可以实现这一目标。
无论谷歌云和尖叫青蛙在过去几年中进一步提高了很多,所以这里是更新,更短,更容易引导运行的一个或多个实例尖叫青蛙SEO蜘蛛在谷歌云或你自己的虚拟专用并行服务器(VPS)。
快速开始
假设您已经知道如何使用Linux并拥有一个远程Ubuntu 18.04 LTS实例,其中有足够的资源在某处运行,例如Google Cloud,您只想在远程实例上快速下载,安装和/或更新Screaming Frog SEO Spider您可以通过登录远程实例并在远程实例的终端中发出以下单行命令来跳过本指南的大部分内容:
wget https://seo.tl/wayd -O install.sh && chmod + x install.sh && ./install.sh
如果这不起作用,或者为了更好地了解如何设置远程实例,传输数据,计划爬网以及在未登录远程实例时保持爬网运行,请继续阅读。
在本指南继续之前,有几点需要首先解决。
首先,本指南中的命令被编写为主要的本地操作系统是Linux发行版。但是,大多数命令在本地工作相同,可能在Windows和/或macOS上进行微调。如果您有疑问,或者如果您想在Windows上本地安装Linux,则可以从官方Windows应用商店免费安装不同版本的Linux,例如Ubuntu 18.04 LTS。如果您对如何在操作系统上访问终端/命令行界面有一些经验和知识,这将非常有用。
其次,您需要一个Google Cloud帐户,在此帐户上启用结算 ,创建Google Cloud项目并在Linux,macOS或Windows操作系统上本地安装gcloud命令行工具。如果您为本指南创建了新的Google Cloud项目,则可以在Web浏览器中访问项目的Google Compute Engine概述页面,以自动启用所有必要的API来执行以下任务。请注意,在云中运行Screaming Frog SEO Spider会花钱 - 使用预算警报在成本高于预期时通知您。
或者,如果您在某处拥有基于Ubuntu 18.04 LTS的VPS或Amazon AWS或Azure帐户,您也可以使用此指南。创建实例的命令是不同的,取决于您使用的云提供商,但总体原则是相同的。为了更好地使您能够独立于任何云提供商使用本指南,我将通用的如何连接以下说明以帮助您入门。
第三,你需要有一个有效和积极的尖叫青蛙SEO蜘蛛许可证。
最后,这是可选的,如果您想要使用Screaming Frog SEO Spider的特定爬网配置,您需要在本地安装Screaming Frog SEO Spider,配置它并将配置设置导出为新文件,以下简称:
default.seospiderconfig
假设上面的所有点都已经过检查,您可以使用本指南继续并设置一个或多个单独的实例,使用Screaming Frog SEO Spider远程并在云中并行进行爬行。
设置Google Compute Engine实例
首先,转到本地计算机上的终端/命令行界面(以下称为终端),然后导航到要使用的文件夹(例如,存储所有爬网)。
接下来,确定您的Google Cloud项目的项目ID,然后选择Google Compute Engine区域。你将需要这个。
在终端中发出以下命令,以在Google Cloud中创建远程Google Compute Engine实例:
gcloud compute instances create <NAME> \ -project 
<PROJECT_ID> \ 
-zone <ZONE > \ -boot 
-disk-type pd-ssd \ 
-boot-disk-size 200GB \ 
-machine-type n1-standard-4 \ 
-image -project ubuntu-os-cloud \ 
-image-family ubuntu-minimal-1804-lts
将<NAME>替换为任何名称,出于本指南的目的,我将使用“instance1”。
将<PROJECT_ID>替换为您的Google Cloud项目中的项目ID,为了本指南的目的,我将使用“gce-sf”。
并将<ZONE>替换为所选区域,为了本指南的目的,我将使用“us-central1-a”。
现在命令看起来像:
gcloud计算实例创建instance1 \ -project gce 
-sf \ 
-zone us-central1-a \ -boot- 
disk-type pd-ssd \ 
-boot-disk-size 200GB \ 
-machine-type n1-standard-4 \ 
-image -project ubuntu-os-cloud \ 
-image-family ubuntu-minimal-1804-lts
这将在Google Compute Engine上创建一个远程实例,具有200GB SSD硬盘,4个vCPU,15GB RAM以及使用Ubuntu 18.04 LTS minimal作为操作系统。如果您愿意,可以更改硬盘的大小或用经典硬盘(至少60GB)替换SSD,或者通过选择其他机器类型来更改CPU和RAM的数量。
复制配置设置(可选)
现在已经创建了远程实例,现在是将本地存储在我们计算机上的Screaming Frog SEO Spider配置文件传输到远程实例的好时机。在本地计算机的终端中发出以下命令:
gcloud compute scp \ 
<FILENAME> \ 
<NAME>:〜/ 
-project < PROJECT_ID> \ -zone <ZONE>
再次使用与上一步相同的值替换<NAME>,<PROJECT_ID>和<ZONE>。接下来还将<FILENAME>替换为loclaly配置文件的名称,为了本指南的目的,将其命名为“default.seospiderconfig”。现在命令看起来像:
gcloud compute scp \ 
default.seospiderconfig \ 
instance1:〜/ 
-project gce -sf \ -zone us-central1-a
如果您只是测试本指南,或者如果您想使用默认的Screaming Frog SEO Spider配置而不做任何更改,则可以跳过此步骤。
连接到远程实例
现在我们的远程实例正在运行,连接到它并为我们的Screaming Frog SEO Spider安装配置它。在本地计算机的终端中发出以下命令:
gcloud compute ssh \ 
<NAME 
> \ 
-project < PROJECT_ID> \ -zone <ZONE>
再次使用与前面步骤中相同的值替换<NAME>,<PROJECT_ID>和<ZONE>。现在命令看起来像:
gcloud compute ssh \ 
instance1 
-project gce -sf \ -zone us-central1-a
这是您断开连接时重新连接到远程实例的方式。
替代VPS或云托管(AWS / Azure)
上述步骤特定于Google Cloud,因为它们使用Google Cloud命令行工具gcloud。如果您想使用其他云提供商(如Amazon AWS或Microsoft Azure),则可以使用其命令行工具和文档来设置实例。
如果您计划使用可以正常工作的不同VPS。在终端中发出以下命令以建立与VPS 的安全连接:
ssh <USERNAME> @ <IP_ADDRESS_OR_HOSTNAME>
将<USERNAME>和<IP_ADDRESS_OR_HOSTNAME>替换为VPS的设置。现在命令看起来像:
ssh fili@10.0.0.1
并在终端中发出以下命令,将配置文件复制到VPS:
scp <CONFIG_FILE> <USERNAME> @ <IP_ADDRESS_OR_HOSTNAME>:〜/
根据配置文件的名称和VPS的设置替换<CONFIG_FILE>,<USERNAME>和<IP_ADDRESS_OR_HOSTNAME>。现在命令看起来像:
scp default.seospiderconfig fili@10.0.0.1:~ /
只需确保为了本指南和安装脚本的目的,满足以下要求:
操作系统是Ubuntu 18.04 LTS(推荐)或更高版本。
该实例至少有8 GB RAM和1个CPU。
该实例在主文件夹上至少分区了100 GB硬盘。
连接到远程实例,让我们继续设置Screaming Frog SEO Spider。
在远程实例上安装Screaming Frog SEO Spider
既然您已在前面的步骤中连接到终端中的远程实例,则下一步是下载并运行安装脚本。我之前的指南大约有6000个单词,其中大部分用于安装软件和设置图形界面来管理远程Screaming Frog SEO Spider实例。在本指南中,大部分内容仅替换为一行,为您完成所有繁重工作,但是由于这个原因,满足上面列出的要求或软件安装和配置可能会失败很重要。
要下载并运行安装脚本,请在远程实例的终端中发出以下命令:
wget https://seo.tl/wayd -O install.sh && chmod + x install.sh && ./install.sh
等待大约5分钟(有时可能需要10分钟),直到所有安装步骤都完成并且您看到成功消息。该脚本将首先要求您:
您的Screaming Frog SEO Spider许可证用户名和许可证密钥(出于测试目的,您可以在此填写任何内容,但在接下来的步骤中,如果许可证详细信息无效,Screaming Frog SEO Spider将无法运行;
如果你想更改Screaming Frog SEO Spider内存分配文件的默认值(默认为50GB);
如果要使用数据库存储模式(默认为no)。
如果您有任何问题,请重新运行该命令。
为了本指南的目的,我们还在远程实例上的当前用户的主文件夹中创建子目录“crawl-data”以保存所有爬网数据,发出以下命令:
mkdir抓取数据
在远程实例上使用tmux
现在已经安装了Screaming Frog SEO Spider,让我们在终端的远程实例上运行它。为了确保丢失与远程实例的连接不会停止爬行,谨慎的做法是独立于远程实例的连接发出运行Screaming Frog SEO Spider的命令。
安装脚本还为此安装了一个广泛使用的命令行工具,称为tmux。您可以在这里,这里和这里找到指南和文档,以成为tmux向导。要启动tmux,请在远程实例的终端中发出以下命令:
TMUX
这将创建一个独立于远程实例连接的终端会话。现在,如果要断开与此会话的连接,可以发出以下命令以从tmux终端会话中分离:
tmux分离
或者,当Screaming Frog SEO Spider爬行时,在键盘上键入Ctrl-b然后键入字母d。
如果要重新连接到tmux终端会话,例如几小时后再次登录远程实例,请发出以下命令以连接到tmux终端会话:
tmux attach -t 0
上面命令中的零表示第一个活动的tmux会话。可能会有更多,特别是如果您不使用“附加”意外地运行命令tmux几次,或者如果您在同一个远程实例上运行多个Screaming Frog SEO Spider爬行 - 是的,这很容易用tmux但RAM,SWAP和CPU可能是一个问题。您可以通过发出以下命令找到所有活动的tmux会话:
tmux list-sessions
然后打开(使用“tmux attach -t <NUMBER>”)每个tmux终端会话,然后断开连接(“tmux detach”),以查看tmux在每个终端会话中的状态。
在远程实例上运行尖叫青蛙SEO蜘蛛
既然您已了解如何使用tmux,请打开未使用的tmux终端会话,并在远程实例的tmux终端会话中发出以下命令:
screamingfrogseospider \ 
-crawl https://example.com/ \ 
-headless \ 
-save-crawl \ -output 
-folder~ / crawl-data / \ 
-timestamped-output \ -create 
-sitemap
此命令仅用于测试Screaming Frog SEO Spider是否已设置并按预期工作。要查看测试爬网的结果,请发出以下命令:
ls -al
如果一切顺利,则会创建crawl-data文件夹中的新子文件夹,并以时间戳作为名称。此文件夹包含从爬网中保存的数据,在本例中是一个sitemap.xml和来自Screaming Frog SEO Spider的crawl.seospider文件,它允许我们在任何其他计算机上的任何其他Screaming Frog SEO Spider实例中加载它。
您可以将爬网配置为使用上述配置文件或爬网专用URL列表。要了解有关在命令行上运行和配置Screaming Frog SEO Spider的命令行选项的更多信息,请查看文档和/或在远程实例的终端上发出以下命令:
screamingfrogseospider -help
下载抓取数据
现在已经测试了爬网,让我们确保收集的爬网数据不会丢失并且可以使用。有几种方法可以访问爬网数据。出于本指南的目的,爬网数据存储在目录crawl-data中的时间戳命名的子目录中,该目录位于用户的主文件夹中,例如
〜/爬行数据/ 2019.06.01.12.30.13 /
直接转移
第一种选择是将数据从远程实例传输到本地计算机上的终端中发出以下命令的本地计算机:
gcloud compute scp \ 
<NAME>:<DIRECTORY_NAME>。\ 
-recurse \ 
-project <PROJECT_ID> \ 
光区<ZONE>
再次使用与前面步骤中相同的值替换<NAME>,<PROJECT_ID>和<ZONE>。现在命令看起来像:
gcloud compute scp \ 
instance1:〜/ crawl-data / *。\ 
-recurse \ 
-项目GCE-SF \ 
-防区美国central1-A
或者,如果使用其他云提供程序或VPS,使用安全连接将文件传输到当前工作目录,则在本地计算机的终端中发出以下命令:
scp -r <USERNAME> @ <IP_ADDRESS_OR_HOSTNAME>:〜/ <DIRECTORY_NAME>。
根据目录名称和VPS设置替换<DIRECTORY_NAME>,<USERNAME>和<IP_ADDRESS_OR_HOSTNAME>。现在命令看起来像:
scp -r fili@10.0.01:〜/ crawl-data /。
虽然,来自其他云提供商的命令行工具可能具有不同的命令来完成相同的操作。
存储在云端
第二种方法是将抓取数据备份到Google Cloud Storage存储桶中的Google Cloud。要实现此目的,请通过发出以下命令(在本地计算机或远程实例的终端中)创建新的存储桶:
gsutil mb -p <PROJECT_ID> gs:// <BUCKET_NAME> /
将<PROJECT_ID>替换为Google Cloud项目ID,并使用<BUCKET_NAME>的任何名称。存储桶名称可以是任何名称,但是许多名称不可用,因此可能需要尝试才能获得适合您的名称。现在命令看起来像:
gsutil mb -p gce-sf gs:// sf-crawl-data /
转移通过在遥控器上的实例的终端发出以下命令,与所述抓取数据,包括所有的子目录的整个目录,从远程实例的存储桶:
gsutil cp -r <DIRECTORY_NAME> gs:// <BUCKET_NAME> /
将<DIRECTORY_NAME>替换为要从远程实例传输到存储桶的目录,将<BUCKET_NAME>替换为存储桶的名称。现在命令看起来像:
gsutil cp -r crawl-data gs:// sf-crawl-data /
现在数据已安全地备份到Google云存储桶中,它为SEO开辟了许多令人兴奋的机会。例如,如果从抓取中导出的站点地图存储在Google云端存储分区中,您也可以将其公开,以便它可以充当您网站的每日生成的XML站点地图,并从您的robots.txt文件中引用它。此外,您现在还可以选择使用谷歌的BigQuery来导入导出CSV尖叫青蛙SEO蜘蛛报告,并使用谷歌的Data Studio,以显示有意义的图形数据。现在可以在云中访问数据了。
在远程实例上更新尖叫青蛙SEO蜘蛛
如果你想更新Screaming Frog SEO Spider或者在安装过程中出现问题并想再次尝试,只需连接到远程实例并在远程实例的终端上发出以下命令:
wget https://seo.tl/wayd -O install.sh && chmod + x install.sh && ./install.sh
再次运行安装脚本时,Screaming Frog SEO Spider将自动更新到其最新版本。
运行多个实例
您可以重复上述步骤来创建所需数量的实例,安装Screaming Frog SEO Spider并运行多个彼此平行的不同爬网。例如,我经常同时并行运行多个远程实例,抓取不同的URL。
安排重复抓取
现在远程实例正在运行,可以使用cron安排定期爬网。首先确定常规爬网需要运行的频率?如果您不熟悉cron计划表达式,请尝试使用这个方便的工具。出于本指南的目的,计划的爬网将在午夜后1分钟运行,然后每隔12小时运行一次。
要继续cron需要通过在远程实例的终端中发出以下命令来配置:
crontab -e
这将打开一个终端编辑器nano,它也是使用上面的安装脚本安装的。进入nano编辑器后,将以下行添加到crontab:
<CRON_SCHEDULE_EXPRESSIONS> <COMMAND> >> <LOG_FILE>
出于调试目的,强烈建议将爬网输出记录在某处。最简单的方法是将运行时数据存储并附加到纯文本文件中,为了本指南的目的,调用该文件:
cron的-output.txt的
用实际命令替换<COMMAND>和<LOG_FILE>以运行Screaming Frog SEO Spider(在一行上)。现在添加到crontab的行看起来像:
1 * / 12 * * * screamingfrogseospider -crawl https://example.com/ -headless -save-crawl -output-folder~ / crawl-data / -timestamped-output -create-sitemap >>〜/ cron-output。文本
通过将以下行添加到crontab,可以重复此过程以定期将爬网数据传输到Google云存储存储桶:
46 11/12 * * * gsutil cp -r crawl-data gs:// sf-crawl-data / >>〜/ cron-output.txt
此行在下一次计划的爬网开始前15分钟将crawl-data目录完整复制到存储桶。假设只需要传输最新的爬网,最简单的方法是在配置计划的传输时通过在crontab中添加以下行来自动删除所有过去的爬网数据:
46 11/12 * * * gsutil cp -r crawl-data gs:// sf-crawl-data / && rm -rf~ / crawl-data / * >>〜/ cron-output.txt
添加两行,一行用于运行计划的爬网,另一行用于计划的传输和删除非常有用。然而,将这三个单独的命令组合成cron中的一行更有效,每个命令依赖于彼此的成功完成(换句话说,如果一个命令失败,之后命令将不会被执行),这看起来像:
1 * / 12 * * * screamingfrogseospider -crawl https://example.com/ -headless -save-crawl -output-folder~ / crawl-data / -timestamped-output -create-sitemap && gsutil cp -r crawl-data gs:// sf-crawl-data / && rm -rf~ / crawl-data / * >>〜/ cron-output.txt
如果这太复杂了,也可以学习shell脚本的惊人世界,编写自己的shell脚本并在其中放置单独的命令,然后使用cron执行shell脚本。
要关闭并保存新的cron作业,请使用键盘快捷键Ctrl-X并确认保存新设置。要成为使用cron的向导,请从此处开始。
删除远程实例和存储桶
当您不使用远程实例进行爬网时(因此,如果您没有安排重复爬网并且已完成爬网),为避免产生额外成本,请务必删除该实例。从长远来看,保持运行成本很高。要删除实例,请在本地计算机的终端中发出以下命令:
gcloud compute instances delete \ 
<NAME 
> \ 
-project < PROJECT_ID> \ -zone <ZONE>
再次使用与前面步骤中相同的值替换<NAME>,<PROJECT_ID>,<ZONE>。现在命令看起来像:
gcloud compute instances delete \ 
instance1 
-project gce -sf \ -zone us-central1-a
要一次性删除多个实例,只需将不同的实例名称添加到命令中,如下所示:
gcloud compute instances delete \ 
instance1 instance2 instance3 
-project gce -sf \ -zone us-central1-a
警告:删除远程实例时,远程实例上存储的所有数据也将被删除,以后无法恢复。在使用delete-instances命令之前,请务必将所有数据从远程实例传输到本地计算机或Google Cloud Storage存储桶。
此外,您可以通过在终端中发出以下命令来删除Google云端存储分区:
gsutil rm -r gs:// <BUCKET_NAME> /
将<BUCKET_NAME>替换为所选的存储桶名称。现在命令看起来像:
gsutil rm -r gs:// sf-crawl-data /
最后的想法
我想提前注意,那就是要关注存储在云存储桶中的远程实例和数据的成本。在云中运行尖叫青蛙SEO蜘蛛不需要花费太多,但是失去了对球的注意力并且它可能是昂贵的。
我还强烈建议您阅读本指南中提到的不同程序的不同文档和手册,因为您会发现本指南中使用的命令的许多修改都是可能的,并且可能对您的情况更有意义。
网站首页| 关于谜 | SEO行业资讯 |

© 2009-2019 【谜】黑帽SEO技术培训服务官网版权所有 地图

宗旨:教会初学者控制白帽与黑帽间的【度】