Documentation has been updated: see help center and changelog in one place.

新闻搜索

大规模抓取 Google News 结果并获取完全解析的数据。提取带标题、来源和发布日期的文章。

google_search source 旨在检索 Google 搜索结果(SERP)。此子页专门展示与 Google 新闻搜索 相关的数据。要查看其他结果类型,请阅读: 网页搜索, 图片搜索.

查看输出 数据字典 针对每个新闻 SERP 功能,提供简短描述、截图、解析后的 JSON 代码片段以及定义每个解析字段的表格。使用右侧导航或向下滚动页面浏览详细信息。

请求示例

在下面的示例中,我们发送请求以获取搜索词为 adidasgoogle.nl 域。

udm

curl 'https://realtime.oxylabs.io/v1/queries' \
--user 'USERNAME:PASSWORD' \
-H 'Content-Type: application/json' \
-d '{
        "source": "google_search",
        "domain": "nl",
        "query": "adidas",
        "parse": true,
        "context": [
            {
                "key": "udm",
                "value": "12"
            }
        ]
    }'

tbm

curl 'https://realtime.oxylabs.io/v1/queries' \
--user 'USERNAME:PASSWORD' \
-H 'Content-Type: application/json' \
-d '{
        "source": "google_search",
        "domain": "nl",
        "query": "adidas",
        "parse": true,
        "context": [
            {
                "key": "tbm",
                "value": "nws"
            }
        ]
    }'

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

请求参数值

通用

抓取 Google 新闻搜索结果的基本设置和自定义选项。

参数
说明
默认值

source

设置抓取器。

google_search

query

要搜索的关键字或短语。

-

context: udm

要获取新闻搜索结果,请将 value 设置为 12。 查找其他可接受的值 此处.

context: tbm

要获取新闻搜索结果,请将 value 设置为 nws。其他接受的值包括: app, blg, bks, dsc, isch, pts, plcs, rcp, lcl

-

render

启用 JavaScript 渲染,当设置为 html. 更多信息.

-

parse

当设置为以下值时返回解析后的数据 true。 查看输出 数据字典.

false

callback_url

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

-

user_agent_type

设备类型和浏览器。完整列表可在 此处.

desktop

- 必填参数

- udmtbm context 参数不能在单个抓取请求中一起使用; 请从中选择一个。 同时使用两者可能导致冲突或意外行为。

Google 高级搜索运算符

在抓取时,将 Google 高级搜索运算符与查询结合使用可能很有用。它使您能够自定义搜索范围,确保结果更相关、更聚焦。探索这些特殊命令 此处此处。参见下面示例。

{
    "source": "google_search",
    "query": "iphone 15 launch inurl:apple",
}

本地化

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

参数
说明
默认值

geo_location

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

-

domain

Google 的域本地化。可用域的完整列表可在此处找到 此处.

com

locale

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

-

分页

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

参数
说明
默认值

start_page

起始页码。

1

pages

要检索的页数。

1

limit

每页要检索的结果数量。

10

context:

limit_per_page

如果要使用相同 IP 抓取多页,请包含一个 JSON 数组并使用 page 键指定页码。你还必须通过添加一个 limit 键来指明每页的有机结果数量。 参见示例.

-

每页限制

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

参数
说明
示例

page

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

1

limit

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

90

请求示例

{
    "source": "google_search",
    "query": "adidas",
    "parse": true,
    "context": [
        {
            "key": "limit_per_page",
            "value": [
                {"page": 1, "limit": 10},
                {"page": 2, "limit": 90}
                    ]
        }]
}

过滤

根据各种条件筛选和细化搜索结果的选项。

参数
说明
默认值

context:safe_search

安全搜索。设置为 true 以启用它。

false

context: tbs

tbs 参数。该参数类似于容纳更晦涩 Google 参数的容器,比如按日期限制/排序结果以及其他一些过滤器,其中有些取决于 tbm 参数(例如 tbs=app_os:1 仅在与 tbm value app一起使用时可用)。更多信息 此处.

-

其他

用于专门需求的附加高级设置和控制。

参数
说明
默认值

context: nfpr

true 将关闭拼写自动更正

false

上下文参数

所有上下文参数应作为对象添加到 context 数组中,包含 keyvalue 键值对,例如:

...
"context": [
    {
        "key": "filter",
        "value": "0"
    }
]
...

结构化数据

SERP 爬虫 API 能够提取包含 Google 搜索结果的 HTML 或 JSON 对象,为结果页面的各个元素提供结构化数据。

google_search news 结构化输出
{
    "results": [
        {
            "content": {
                "url": "https://www.google.com/search?q=adidas&tbm=nws&uule=w+CAIQICINdW5pdGVkIHN0YXRlcw&gl=us&hl=en",
                "page": 1,
                "results": {
                    "main": [
                        {
                            "url": "https://www.cnn.com/2022/05/06/business/under-armour-stock-adidas-nike/index.html",
                            "desc": "供应链受挫和中国的新冠病例激增正给顶级运动品牌带来\n麻烦。",
                            "title": "华尔街对 Under Armour、Nike 和 Adidas 感到厌倦",
                            "source": "CNN",
                            "pos_overall": 1,
                            "relative_publish_date": "2 days ago"
                        },
                        ...
                        {
                            "url": "https://www.cnbc.com/2022/05/06/dsw-tests-layout-to-spotlight-brands-like-adidas-crocs-birkenstock.html",
                            "desc": "DSW 正在休斯顿一个本周末开业的门店尝试新的店面外观和布局,试图将顾客注意力集中到...",
                            "title": "DSW 正在测试一种将焦点放在 Adidas、Crocs 和 Birkenstock 等品牌的店铺布局",
                            "source": "CNBC",
                            "pos_overall": 10,
                            "relative_publish_date": "2 days ago"
                        }
                    ],
                    "total_results_count": 57300000
                },
                "parse_status_code": 12000
            },
            "created_at": "2022-05-09 07:25:03",
            "updated_at": "2022-05-09 07:25:07",
            "page": 1,
            "url": "https://www.google.com/search?q=adidas&tbm=nws&uule=w+CAIQICINdW5pdGVkIHN0YXRlcw&gl=us&hl=en",
            "job_id": "6929330379711060993",
            "status_code": 200,
            "parser_type": "v2"
        }
    ]
}

我们仅解析 针对 的新闻搜索结果 desktop 的图片搜索结果。

输出数据字典

HTML 示例

JSON 结构

Google 新闻搜索的结构化输出包含如下字段: URL, page, results等字段。下表列出我们解析的每个 SERP 功能的详细清单、其描述和数据类型。表中还包含一些元数据。

特定结果类型的项数和字段可能会根据搜索查询而有所不同。

说明
类型

url

Google 搜索页面的 URL。

字符串

results

包含搜索结果的字典。

数组

results.main

一份未付费新闻结果的列表,包含各自的详细信息。

数组

results.additional

一份趋势文章的列表,包含各自的详细信息。

对象

results.total_results_count

针对搜索查询找到的结果总数。

数组

parse_status_code

解析任务的状态代码。您可以在此处查看解析器状态代码说明 此处.

整数

created_at

抓取任务创建的时间戳。

时间戳

updated_at

抓取任务完成的时间戳。

时间戳

page

相对于 Google SERP 分页的页码。

整数

job_id

与抓取任务关联的作业 ID。

字符串

status_code

抓取任务的状态代码。您可以在此处查看爬虫状态代码说明 此处.

整数

在下列部分,当某个结果类型有多于一项时,解析后的 JSON 代码片段将被简短化。

Main

显示未付费新闻结果的列表,为每篇文章提供相关详情。

...
"main": [
    {
        "url": "https://www.yahoo.com/lifestyle/tiger-woods-nikes-epic-partnership-015311819.html",
        "desc": "曾经可能存在一个 Tiger Woods 没有被 Nike 赞助的世界,这似乎...",
        "title": "Tiger Woods 与 Nike 那段史诗般合作关系如何破裂",
        "source": "Yahoo",
        "pos_overall": 1,
        "relative_publish_date": "1 day ago"
    },
                       ...
},

...
键(results.main)
说明
类型

url

完整文章的 URL。

字符串

desc

文章全文的简短摘录。

字符串

title

文章的标题。

字符串

source

发布文章的网站名称。

字符串

pos_overall

指示该结果在新闻 SERP 主结果中的总体位置。

整数

relative_publish_date

描述文章发布的时间距离现在的时长。

字符串

其他

显示一份趋势文章的列表,并附带相关详情。

...
"additional": [
    {
        "items": [
            {
                "pos": 1,
                "url": "https://www.complex.com/sneakers/a/brendan-dunne/nike-book-1-colorways-haven-hike-rattlesnake",
                "title": "Nike Book 1 色彩款 Haven Hike Rattlesnake",
                "source": "Complex",
                "relative_publish_date": "1 day ago"
            },
         ...
        ],
        "pos_overall": 2,
        "section_title": "Devin Booker 确认 Nike Book 1 发布存在问题"
    }
...
键(results.additional)
说明
类型

items

包含各自详细信息的文章列表。

数组

items.pos

表示文章在列表中位置的唯一标识符。

整数

items.url

完整文章的 URL。

字符串

items.title

文章的标题。

字符串

items.source

发布文章的网站名称。

字符串

items.relative_publish_date

描述文章发布的时间距离现在的时长。

字符串

pos_overall

指示该结果在新闻 SERP 附加结果中的总体位置。

整数

section_title

附加部分的名称。

字符串

最后更新于

这有帮助吗?