搜索网络是我们在线生活的基石。在搜索方面,Google 占据主导地位——根据数据显示,超过 92% 的桌面搜索流量都通过它们 NetMarketShare.
由 Google 系统提供支持的每月搜索量高达 63 亿次,令人震惊。对于开发者和企业来说,访问如此规模的搜索数据就像数字黄金。但与竞争对手 Bing 不同的是,Google 不提供通过 API 直接访问其索引的功能。
多年来,许多人都想利用谷歌的搜索数据。在本指南中,我们将介绍 2024 年目前存在的以编程方式访问 Google 结果的选项。将其视为“Google 搜索 API”景观的概述。
我们将具体探讨:
- Google 自己的自定义搜索 API 产品
- 提取 Google 数据的网络抓取方法
- 提供搜索 API 的第三方服务
让我们深入了解吧!
Google 的受限自定义搜索 API
鉴于 Google 在搜索领域的主导地位,您可能期望他们提供 API 来授予对其完整索引和结果的访问权限。但事实并非如此。
Google 确实提供了自定义搜索 API,但这是 不能 传统的搜索 API:
自定义搜索 API 可让您创建搜索引擎 为您的网站 或网站的集合。您可以使用要搜索的网站、自定义品牌、外观等设置来配置搜索引擎。
自定义搜索 API 的一些关键限制:
- 它仅搜索您定义的特定站点/页面,而不是整个网络。
- 您必须手动配置您希望能够搜索的每个站点。
- 结果来自 Google 索引,但您可以控制过滤和排名标准。
- 免费使用套餐严格限制每天 100 次查询。
- 付费使用费用为每 5 个查询 1000 美元,每天最多 10K 查询。
自定义搜索 API 通过让您将自定义 Google 搜索嵌入到网站或内部工具中来提供价值。但这些限制使其无法用作访问更广泛的谷歌搜索数据的方式。
举个例子,假设您想要分析查询“最佳笔记本电脑”的搜索结果。使用自定义搜索 API,您只能在您专门配置的网站上看到该查询的结果。没有简单的方法可以全面了解 Google 的情况。
这促使许多开发人员寻求替代方法来利用谷歌的搜索结果。接下来让我们讨论这些。
抓取 Google 的搜索结果
网络抓取(也称为网络数据提取或网络收获)已成为获取 Google 搜索数据的流行技术。
基本方法是 以编程方式自动向 Google 进行查询,获取 HTML 结果页面,然后提取所需的数据 – 标题、链接、摘要等。在某种程度上,您正在创建自己的自定义“Google 搜索 API”。
用于网络抓取的一些常见工具和编程语言包括:
- 通用语言: Python(Beautiful Soup、Scrapy)、Javascript/Node.js(Puppeteer、Playwright)、Ruby(Mechanize、Watir)
- 可视化工具: Apify、ParseHub、Octoparse
- 云服务: ScrapingBee、Scrapy 云、ParseHub 云
通过网络抓取,您可以从 Google 搜索结果中检索非常丰富的结构化数据。这包括:
- 有机搜索结果
- 广告
- 相关查询
- 精选片段
- 知识图谱信息
- 图片
- 新闻选项卡内容
- 还有更多
然而,大规模的谷歌网络抓取确实带来了一些挑战:
- Google 采用复杂的机器人检测和验证码来阻止抓取。抓取者必须使用规避策略。
- 分布在太多 IP 上的抓取可能会面临被完全阻止的风险。需要精心编排。
- 从技术上讲,违反了 Google 的服务条款(尽管很少执行)。
- 谷歌定期调整结果页面设计,破坏抓取工具直到更新。
因此,虽然您可以获得灵活性并访问丰富的数据,但网络抓取比官方 API 需要更多的技术技能和维护。需要考虑的权衡。
抓取陷阱
让我们更深入地研究一下抓取 Google 搜索时出现的一些关键困难:
验证码 – 谷歌很快就会向抓取工具显示验证码,有时甚至是在第一个请求时。抓取工具需要运行逻辑来分析、解决和绕过挑战。
IP阻止 – 对一个 IP 进行过于频繁的抓取会导致其被 Google 系统标记并阻止。因此,您需要编排更大的 IP 池并轮流使用它们。
布局转变 – 谷歌经常对搜索结果页面设计进行细微的调整。任何更改都可能会破坏依赖于硬编码 HTML 解析的抓取工具。爬虫必须不断更新。
查询变体 – 抓取各种独特的查询比一遍又一遍地重复相同的查询更安全。频率引发怀疑。
用户代理 – 抓取请求应尽可能模仿真实的浏览器用户代理字符串,并经常轮换它们。
虽然这些问题使得谷歌的抓取工作变得非常重要,但可以通过足够的技术专业知识和基础设施来克服这些问题。对于大规模商业数据需求,这种投资通常是值得的。
利用第三方搜索 API
构建和维护企业级 Google 抓取解决方案非常复杂。许多人选择通过使用来避免这种开销 商业第三方服务 提供托管的 Google 搜索 API。
这些提供商在强大的基础设施上运行自己的 Google 抓取工具,然后通过更干净的 API 和仪表板界面公开聚合数据。一些主要选项:
服务端
SerpApi 专注于提供强大的 Google 搜索 API。特点包括:
- JSON 响应,包含有机、广告、相关搜索等的完整结构化数据。
- 定位全球。
- 自定义用户代理和代理轮换以避免阻塞。
- Google 自动完成和相关搜索 API。
- Algolia 和 ElasticSearch 的集成。
- 99.5% 正常运行时间 SLA。
起价为 49 美元/月,最多可进行 5 次查询。计划最多可进行 200 万次查询,每月费用为 999 美元。
快速API
除了庞大的 API 市场之外,RapidAPI 还提供具有以下功能的专用 Google 搜索 API:
- 带有标题、链接、片段等常见字段的 JSON 响应。
- 位置和语言参数。
- 相关搜索、字典查找和自动完成 API。
- 每月 500 个请求的免费等级。
- 按使用量付费,起价为 15 美元/月,可进行 5 次查询。
RapidAPI 在基础设施、负载平衡和开发人员支持方面投入了大量资金。
蜜蜂
ScrapingBee 提供网络抓取作为托管服务。他们的 Google 搜索产品包括:
- JSON 结果,包含提取的标题、链接、片段、图像等。
- 全球住宅和数据中心 IP 以避免封锁。
- 免费试用 1,000 次搜索。
- 定价计划起价为 29 美元/月,可进行 10K 次查询。
ScrapingBee 专注于代理管理和自动化。
阿皮菲
Apify 提供 Google 搜索抓取工具作为其更大的网络数据提取平台的一部分。强调:
- 结构化 JSON 结果(标题、链接、片段、评级、图像等)。
- 可配置的位置定位和语言选择。
- 集成代理轮换和验证码解决。
- 30天免费试用。
- 计划从 49 美元/月起,包括代理基础设施。
除了 Google 搜索之外,Apify 还提供自动化、存储和数据交付工具。
这些服务如何运作?
SerpApi、RapidAPI、ScrapingBee 和 Apify 等服务的核心工作原理是:
- 接受来自客户的传入 API 请求。
- 将这些请求转发到他们自己的内部 Google 抓取工具中。
- 跨多个代理和 IP 大规模运行查询。
- 构建抓取的数据。
- 将干净的 JSON 结果返回给客户。
通过聚合大型客户群的抓取请求,他们可以分摊基础设施成本,同时提供比直接网络抓取更友好的界面。
比较计划和定价
不同提供商的定价和计划有所不同,但有一些共同点:
- 免费套餐 尝试 API 的查询次数在 500-1000 之间。
- 入门付费计划 大约 30 美元/月,约 10K 查询。
- 专业计划 50K+ 查询的价格为 100-100 美元/月。
- 企业计划 适用于需要 500 万以上查询的公司。
例如,以下是每月 50,000 次 Google 搜索的定价方式:
Provider | 价格 |
---|---|
服务端 | $ 349 /月 |
快速API | $ 750 /月 |
蜜蜂 | $ 179 /月 |
阿皮菲 | $ 245 /月 |
因此,虽然底层技术相似,但要寻找查询和调用中的差异。 查询提交给 Google 的单个搜索词或请求以编程方式大规模查询 Google 意味着使用一系列查询调用其搜索 API(或网页)并检索结果。因此,最大查询量表示给定定价层每月支持的搜索量。定价计划和层 大多数 Google 搜索 API 提供多个定价计划或层。较低的级别允许更少的每月查询,并且基本价格更便宜。更高的级别成本更高,但具有更大的搜索限额和优先支持等额外好处。运营成本 提供商需要承担基础设施、人员和系统的持续成本,以保持其 API 的运行。更高的查询量需要更多的服务器、带宽等。计划的定价是为了跨客户大规模收回这些成本。免费套餐 大多数 API 都提供一些免费套餐,以便在付款前测试服务。通常每月有 500 至 1000 次免费查询。定价结构、查询津贴和独特功能。
Google 搜索 API 的未来
鉴于谷歌在搜索领域的主导地位,我们很可能会看到开发人员访问这些数据的方式不断演变。以下是一些可能的发展:
更强大的付费API – 谷歌可以将自定义搜索扩展为具有更广泛搜索访问权限的付费 API,类似于旧的谷歌搜索 API。这将减少抓取激励。
合作 – 谷歌可能会与特定的垂直搜索聚合商进行更深入的合作,就像他们在购物和航班领域所做的那样。
自助抓取 – 像 Apify 这样的平台可以实现完全自助式的 Google 抓取,使其更易于访问。
浏览器API – 结构化数据可以通过 Google 搜索页面的官方浏览器 API 公开。
知识图谱API – 谷歌的知识图谱包含大量实体数据,可以打开进行结构化查询。
目前,网络抓取和第三方 API 似乎有望在 2024 年主导 Google 搜索数据访问。但形势在不断变化,敬请关注!
从 Google 庞大的搜索索引中提取价值
希望本指南对以编程方式利用 Google 搜索结果的当前情况提供了有用的概述。今天提供的选项使 Google 的数据比以往任何时候都更容易访问。
对于个人和小规模的需求,直接网页抓取可能是最合适的。但对于较大的生产应用程序,SerpApi、RapidAPI、ScrapingBee 或 Apify 等第三方 API 通过其托管服务提供巨大价值。
无论您选择哪种方法,集成 Google 的索引知识都可以极大地增强业务、应用程序和研究。我们才刚刚开始挖掘隐藏在每月 63 亿次搜索中的潜在价值。
谢谢阅读!如果您还有其他问题,请告诉我。