• Python

如何使用 Python 和 Google 搜索 API 构建排名跟踪器

  • Felix Rose-Collins
  • 4 min read

介绍

即使关键字跟踪非常重要,谷歌的 ToS(服务条款)也不允许对 SERP(搜索引擎结果页面)进行搜索。

谷歌的验证码和 IP 屏蔽等反搜索措施导致验证码解决服务成本上升,包括旋转代理的成本。这使得通过网络抓取进行搜索引擎优化监测的整个过程更加令人沮丧。

好吧,如果你正处于这种情况下,或者正在努力获取准确、合法的 Google 搜索数据来跟踪关键词排名,那么这里有一个合法、可靠的替代方法。让我们来探讨一下如何使用 Python 和 Google Search API 构建一个排名跟踪器。

使用 Python 和 Google 搜索 API 构建排名跟踪器

要使用 Python 和 Google Search API 构建排名跟踪器,您需要掌握 Python 编程、API 处理、数据库管理和数据分析方面的技能。

请注意,本指南的重点是为全局关键字跟踪构建排名跟踪器。对于本地和高级关键字跟踪,将 Python 脚本与 排名跟踪器 API集成会非常有用。

现在,让我们深入探讨使用 Python 和 Google Search API 构建排名跟踪器的过程。

1. 设置 Python 编程环境和要求

在编写跟踪关键字排名的 Python 脚本之前,您必须从官方网站安装最新版本的 Python。安装过程因运行的操作系统而异。

安装完成后,在命令行或终端验证安装。然后,安装您选择的集成开发环境或代码编辑器。在 IDE 中,最推荐使用 VS code,因为它支持大多数 Python 脚本扩展,而且轻量级。

遇见Ranktracker

有效SEO的一体化平台

每个成功的企业背后都有一个强大的SEO活动。但是,有无数的优化工具和技术可供选择,很难知道从哪里开始。好了,不要再害怕了,因为我已经得到了可以帮助的东西。介绍一下Ranktracker有效的SEO一体化平台

我们终于开放了Ranktracker的注册,完全免费!

创建一个免费账户

或使用您的证书登录

接下来,安装一个虚拟环境,将您开发的每个项目的依赖关系分开,防止潜在冲突。最后,安装必要的 Python 库和工具。

在 Python 库和工具中,您需要Requests库来调用 Google Search API,需要 _JSON 来处理 API 响应,需要Datetime来为查询设置时间戳,需要SQlite来存储排名数据和历史记录,还需要Plotly 或 Matplotlib来实现可视化。

2. 配置谷歌搜索 API

设置并测试好 Python 编程环境后,前往Google 可编程搜索引擎页面,创建一个新的或自定义搜索引擎。

在本教程中,请将自定义搜索引擎设置为全网搜索(全局搜索),并复制其 ID 或 CX 值。然后,切换页面到 Google Cloud Console,启用自定义搜索 JSON API 以获取 API 密钥。

获得 CX 值和 API 密钥后,将两者安全地保存在配置文件中。始终避免硬编码 CX 值或 API 密钥,以降低安全风险。

3. 编写结构合理的 Python 脚本

到目前为止,您已经有了一个正确配置的编程环境和一个自定义 Google 搜索引擎的 ID(外加 API 密钥)。

下面介绍如何将 Python 脚本结构化为模块化函数,以确保关键字排序跟踪过程的流畅性和自动化。

首先,在项目结构中包含 _config.py、tracker.py、database.db 和 requirements.txt _文件,以便更好地导航和维护。

遇见Ranktracker

有效SEO的一体化平台

每个成功的企业背后都有一个强大的SEO活动。但是,有无数的优化工具和技术可供选择,很难知道从哪里开始。好了,不要再害怕了,因为我已经得到了可以帮助的东西。介绍一下Ranktracker有效的SEO一体化平台

我们终于开放了Ranktracker的注册,完全免费!

创建一个免费账户

或使用您的证书登录

不要忘了数据/文件夹,用于保存已存储的排名历史记录。这些文件和文件夹就位后,编写以下函数来读取、写入或修改文件:

a)查询谷歌搜索 API 的函数

该函数应接受关键字作为输入,并使用 config.py 文件中的 CX 值和 API 密钥构建 API 请求 URL。然后,它将请求发送给 Google Search API,后者将发回 JSON 响应。

最后,该函数会解析 JSON 响应,提取前 100 页的标题、URL、片段和排名位置。

b)提取和存储等级数据的函数

解析搜索结果后,该功能将在返回的列表中找到您网站的 URL,确定其排名位置,并将排名数据以结构化格式存储在 SQlite 中。

该功能应循环查看搜索结果,并查找网站 URL 的位置。如果找到,则提取并记录其排名位置。如果未找到,则假定您的网站在指定关键词的排名不在前 100 位。

遇见Ranktracker

有效SEO的一体化平台

每个成功的企业背后都有一个强大的SEO活动。但是,有无数的优化工具和技术可供选择,很难知道从哪里开始。好了,不要再害怕了,因为我已经得到了可以帮助的东西。介绍一下Ranktracker有效的SEO一体化平台

我们终于开放了Ranktracker的注册,完全免费!

创建一个免费账户

或使用您的证书登录

您可以让该功能将数据结构化为以下 SQlite 数据库字段:搜索的关键字、数据和跟踪时间、排名位置和 URL。

c)数据分析和可视化功能

进入数据库后,该功能会从数据库中提取存储的排名数据,对其进行分析,并使用 Plotly 和 Matplotlib 等库 对趋势进行可视化。您还可以让模型将数据传递给统计模型,以检测排名的下降和上升,从而帮助您监控搜索引擎优化工作。

1. 自动运行 Python 排名跟踪器

测试脚本的功能并执行错误处理。

例如,脚本应能处理超时或重试失败的请求。此外,还要记录失败的请求,以避免丢失数据。

要在特定时间间隔后监控排名,可使用cron等调度程序将整个跟踪过程自动化,以便在特定时间间隔(每天、每周或每月多少次)后自动跟踪关键字。设置触发器,在排名大幅下降时发出警报。

2. 为 Python 排名跟踪器添加高级功能

最后,一旦你对建立一个基本的排名跟踪器感到得心应手,你就可以选择添加以下高级功能:

  • 特定设备跟踪:移动设备和桌面设备的排名各不相同。这就是为什么 Google Search API 允许您分别跟踪这两种排名的原因。

  • 竞争对手跟踪:除自己的网站外,您还可以跟踪竞争对手的 URL。

  • 基于地理位置的排名跟踪:您可以缩小搜索范围至特定地点,并获取能反映特定城市或国家用户搜索意图的结果。

  • SERP 特征检测:如果您想知道您的网站页面是否出现在图片结果、特色片段或其他 SERP 功能中,Google Search API 可以让您做到这一点。

尽管功能先进,但要注意的是,你每天大约有 100 次免费查询的机会。用完之后,就必须付费。此外,您最多只能提取 100 个搜索结果。这就是为什么必须将排名跟踪器与第三方排名跟踪器 API 结合使用,以扩展其功能。

总结!

就是这样!使用 Python 和 Google Search API 构建排名跟踪器所需的五个步骤。

请记住,谷歌搜索 API 限制您每天只能跟踪 100 个搜索结果和 100 次查询。尽管如此,您仍可以高效、合法地跟踪关键词排名,而不会被禁止 IP 或触发验证码。此外,您还可以在多个账户间分配请求,从而增加一天内可发送的查询次数。

Felix Rose-Collins

Felix Rose-Collins

Ranktracker's CEO/CMO & Co-founder

Felix Rose-Collins is the Co-founder and CEO/CMO of Ranktracker. With over 15 years of SEO experience, he has single-handedly scaled the Ranktracker site to over 500,000 monthly visits, with 390,000 of these stemming from organic searches each month.

开始使用Ranktracker...免费的!

找出阻碍你的网站排名的原因。

创建一个免费账户

或使用您的证书登录

Different views of Ranktracker app