是否有一种以编程方式从Google搜索中返回"约N个结果"号码?

max*_*man 6 google-search google-search-api

我希望能够抓取任意Google搜索字词的"约N个结果"数字.谷歌对刮刀有相当的抵抗力,所以虽然这可能是一个有点工作的选择,但我特别询问是否有更好的方法来做到这一点?也许有一个由Google提供的预先存在的API可以满足这种需求吗?

Rob*_*ade 1

我不会尝试抓取,因为这很可能会产生法律后果,但会使用 Google 自定义搜索 API。您需要一个 API 密钥和一个 CX ID(这是您将在 Google 帐户中设置的自定义搜索引擎的 ID)

一旦您有权访问 API 和您的 CX ID,您就可以向 cse.list 方法提交查询,并在 下的响应中获取您要查找的号码totalResults

设置和自定义自定义搜索引擎时,您必须定义要搜索的网站。幸运的是,您可以添加通配符,例如 *.com、*.net 等。或者按照此页面上的说明搜索整个网络: https: //support.google.com/customsearch/answer/2631040 ?hl=en

我已在下面提供了您继续此操作所需的所有链接。拥有 CX ID 后,请尝试 API 列表浏览器。它将为您提供实时响应数据,您可以查看并使用这些数据。

谷歌自定义搜索API

https://developers.google.com/custom-search/

这是您要使用的方法/端点:

https://developers.google.com/custom-search/json-api/v1/reference/cse/list

cse.list 方法浏览器:

https://developers.google.com/apis-explorer/#p/customsearch/v1/search.cse.list

设置和管理您的自定义搜索引擎

https://cse.google.com/cse/manage/all

注意:结果可能会有所不同,具体取决于您的搜索引擎配置方式。我设置了一个测试来搜索整个网络,重点是 *.com 和 *.net 域,并且我得到的数字比 Google 在“关于 N 个结果”中显示的数字还要大。我不确定您是否需要那个确切的数字,但他们将其描述为“关于”,因此无论如何它都不可能是完全准确的数字。关键是,使用 CSE,您可以对如何配置它进行大量控制,并且应该能够非常接近。