AI Overviews

从搜索结果中提取 Google AI Overviews,并获取答案文本、项目符号列表、产品、食谱、来源面板、信息列表和其他问题的解析数据。

google_searchgoogle_ads sources 可以从所有支持的全球地区的 Google 搜索结果中返回 AI Overviews。 ai_overviews 结果数组支持在单个响应中包含多个 AI 区块,包括“People also ask”和“Things to know”等部分。

为了最大限度提高接收到完整渲染的 AI Overviews 内容的概率,您必须包含以下参数:

参数

source

google_searchgoogle_ads

render

html

user_agent_type

desktop移动端

使用这些参数还可以让您通过单个请求同时接收常规响应和 AI Overviews 内容。

AI Overviews 区域可用性

Google AI Overviews 在大多数国家/地区可用,只有少数例外。目前排除的主要国家有:

  • 法国

  • 摩纳哥

  • 中国

  • 伊朗

  • 苏丹

  • 叙利亚

  • 古巴

  • 朝鲜

请求示例

我们使用同步的 Realtime 集成方法作为示例。如果您想使用 Proxy Endpoint 或异步 Push-Pull 集成,请参阅 集成方法 部分。

请求参数值

通用

使用 AI Overviews 抓取 Google Web 搜索结果的基本设置和自定义选项。

参数
说明
默认值

source

设置爬虫。使用 google_searchgoogle_ads.

google_search

query

要搜索的关键词或短语。

-

render

设置为 html. 更多信息.

-

context: expand_aio

设置为 true 以展开 Google AI Overviews(已启用 JavaScript 渲染)。

false

parse

设置为 true.

false

callback_url

您的回调端点 URL。 更多信息

-

user_agent_type

设备类型和浏览器。使用 desktop移动端.

desktop

- 必填参数

Google 高级搜索运算符

抓取时,您可能会发现将 Google 高级搜索运算符与您的查询结合使用很有帮助。这样您就可以自定义搜索范围,确保结果更相关、更聚焦。探索这些特殊命令 这里这里。请参见下面的示例查询。

本地化

将搜索结果适配到特定地理位置和语言。

参数
说明
默认值

geo_location

结果应适配的地理位置。正确使用此参数对于获取正确数据极其重要。有关更多信息,请阅读我们建议的 geo_location 参数结构 这里.

-

locale

Accept-Language 请求头值,它会更改您的 Google 搜索页面 Web 界面语言。 更多信息.

-

分页

用于管理分页和检索搜索结果的控制项。

参数
说明
默认值

start_page

起始页码。

1

pages

要检索的页数。

1

limit

每页要检索的结果数量。

10

context:limit_per_page

使用相同的 IP 地址和会话(Cookie 集)抓取多个页面。通过在 JSON 数组中使用 page 键指定页码,并使用 limit 键指定每页的自然结果数量,您可以尽量减少跨页看到重复自然结果的可能性(例如,第一页的最后一个自然结果与第二页的第一个自然结果相同)。 查看示例.

-

支持连续滚动

网页爬虫API 完全支持 Google Search 连续滚动。它会自动检测连续滚动布局,高效加载所请求的自然结果,无需任何额外参数。

每页限制

要使用此功能,请包含一个 JSON 数组,其中的 JSON 对象包含以下数据:

参数
说明
示例

page

您想抓取的页码。任何大于 0 的整数值都可以

1

limit

该页上的结果数量。任何介于 1100 之间(含端点)的整数值都可以。

90

请求示例

筛选

根据各种条件筛选和优化搜索结果的选项。了解如何使用 context 参数 这里.

参数
说明
默认值

context: filter

将此参数的值设置为 0 可让您查看原本会因与其他结果相似而被排除的结果。

1

context: safe_search

安全搜索。设置为 true 即可启用。

false

context: udm

udm 参数允许在不同搜索标签之间切换,例如图片、地点或视频,以自定义显示的结果类型。可接受的值见 这里.

-

context: tbm

To-be-matched 或 tbm 参数。可接受的值包括: app, blg, bks, dsc, isch, nws, pts, plcs, rcp, lcl

-

context: tbs

此参数类似于一个容器,用于承载更不常见的 Google 参数,例如按日期限制/排序结果,以及其他一些过滤器,其中部分取决于 tbm 参数(例如 tbs=app_os:1 仅在 tbm 值下可用 app)。更多信息 这里.

-

其他

适用于专门需求的其他高级设置和控制项。

参数
说明
默认值

context: fpstate

fpstate 值设置为 aig 会让 Google 加载更多应用。此参数仅在与 render 参数一起使用时才有用。

-

context: nfpr

true 将关闭拼写自动更正

false

Context 参数

所有 context 参数都应作为带有 context 对象添加到 key值下可用 对的数组中,例如:

数据结构和处理

数据字典

AI Overviews SERP 功能中所有可用的键定义如下表所示:

键(results.ai_overview)
说明
类型

answer_text

有关 Google 搜索查询词的一般信息。

数组

bullet_list

表示 AI Overviews SERP 功能中以项目符号列表形式呈现的条目信息。

数组

products

产品列表及其各自的详细信息。

对象

source_panel

用于在 Google SERP 功能中生成 AI Overviews 结果的来源列表。

对象

additional_questions

附加问题列表及其各自的详细信息。

对象

recipes

包含各自详细信息的食谱列表。

对象

info_list

最常用于表示与搜索查询相关流程步骤的信息列表。

数组

pos_overall

表示 AI Overviews SERP 功能结果在所有可用 Google SERP 结果中的位置。

整数

处理多个 AI Overviews

由于 AI Overviews 现在以数组形式返回,您必须遍历它们:

在大多数情况下,只会有一个 AI Overview,但您的代码应做好处理多个条目的准备。

查看下面按不同搜索查询分类的 AI Overviews 结果示例: 项目, 食谱, 说明.

项目

在以下示例中,使用了“Emporio Armani EA3192”查询。

答案文本

键(results.ai_overviews.answer_text)
说明
类型

text

对 Google 搜索查询的简短回答。

数组

pos

表示给定项目在所有 AI Overviews 答案结果中的位置。

整数

项目符号列表

键(results.ai_overviews.bullet_list)
说明
类型

list_title

项目符号列表的标题。

字符串

points

项目符号列表中呈现的条目。所有条目以逗号分隔。

数组

pos

表示给定项目在所有 AI Overviews 项目符号列表结果中的位置。

整数

产品

键(results.ai_overviews.products)
说明
类型

项目

产品列表及其各自的详细信息。

数组

items.product_name

产品名称。

字符串

items.price

产品的当前价格。

字符串

items.previous_price

产品的原始价格(如适用)。

字符串

items.seller

商品的卖家。

字符串

items.shipping

产品可用的配送类型。

字符串

items.url

商品的 URL。

字符串

items.pos

表示给定项目在所有 AI Overviews 产品结果中的位置。

整数

来源面板

键(results.ai_overviews.source_panel)
说明
类型

项目

用于在 Google SERP 功能中生成 AI Overviews 结果的来源列表。

对象

items.url

网站的 URL。

字符串

items.source

网站名称。

字符串

items.date

文章发布的日期。

字符串

items.title

文章标题。

字符串

items.pos

表示给定项目在所有 AI Overviews 来源面板结果中的位置。

整数

附加问题

键(results.ai_overviews.additional_questions)
说明
类型

items.question

与原始搜索查询相关的、以逗号分隔的附加问题列表。

数组

items.pos

表示给定项目在所有 AI Overviews 附加问题结果中的位置。

整数

食谱

在以下示例中,使用了“recipe for an apple pie”查询。

食谱

键(results.ai_overviews.recipes)
说明
类型

项目

包含各自详细信息的食谱列表。

数组

items.description

食谱的简短描述。

字符串

items.image

食谱的 base64 编码缩略图。

字符串

items.source

发布该食谱的网站名称。

字符串

items.rating

食谱评分。

字符串

items.rating_count

评分数量。

字符串

items.duration

准备这道菜所需的时间。

字符串

items.url

完整食谱的 URL。

字符串

items.title

食谱标题。

字符串

在以下示例中,使用了“recipe of a juicy succulent steak”查询。

信息列表

键(results.ai_overviews.info_list)
说明
类型

list_title

列表标题。

字符串

list_items

包含条目列表及其各自的详细信息。

数组

list_items.title

列表内该部分的标题。

字符串

list_items.content

该部分的简短描述。

数组

list_item.pos

表示给定项目在所有 AI Overviews 信息列表结果中的位置。

整数

说明

在以下示例中,使用了“docker exec commands explained”查询。

答案文本命令

注意:详细信息呈现在与 项目相关搜索查询相同的数组中,但是,对于与说明相关的查询类型,会出现一种新的键类型(command)

键(results.ai_overviews.answer_text)
说明
类型

command

给计算机或软件的指令,用于执行特定任务。

字符串

最后更新于

这有帮助吗?