【问题标题】:How to get more than 100 results from Google Custom Search API如何从 Google 自定义搜索 API 获得 100 多个结果
【发布时间】:2016-03-06 00:49:09
【问题描述】:

我正在尝试使用 Google 自定义搜索 API 进行 Java 研究。因此,我需要为每个查询提供一个大的结果集。但是,我似乎受到前 100 个结果的限制,这比我需要的要少得多。我使用这样的列表方法:

list.setStart(90L);

当我将它设置为从索引 100 开始时,我收到此错误:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request

{   "code" : 400,   
    "errors" : [ {
    "domain" : "global",
    "message" : "Invalid Value",
    "reason" : "invalid"   
  } ],   
    "message" : "Invalid Value" 
}

有什么办法可以消除这个限制吗?

【问题讨论】:

    标签: java google-api google-api-java-client google-custom-search


    【解决方案1】:

    两个限制之间存在差异:a) 每天最多 100 个查询; b) 每个搜索短语最多 100 个结果(甚至分成 10 个查询,每个查询 10 个结果)。限制(a)可以通过支付给谷歌来解决,而限制(b)根本无法解决,它似乎是CSE产品在搜索整个网络时的一个功能(即不仅仅是一个站点搜索,它可以提供更多结果),参见例如https://productforums.google.com/forum/#!topic/customsearch/VM8_6trCxGU

    【讨论】:

      【解决方案2】:

      您只能使用 Google 自定义搜索为每个查询请求 10 个结果,因此您希望将该搜索拆分为多个查询。 (我不知道你的实际查询代码是如何工作的,所以我不知道你是否已经知道这一点)

      Google 自定义搜索(免费)也限制每天 100 次查询,因此如果您想要更多,则必须付费。

      您可以在这里找到价格:https://developers.google.com/custom-search/json-api/v1/overview

      【讨论】:

      • 谢谢。是的,我已经知道了。问题不在于查询的数量。据我了解,谷歌每次查询只提供 10 个结果,所以如果我需要更多结果,我必须重复我的查询并更改起始索引。但是更改起始索引的限制是 90。这意味着每个查询的结果不能超过 100 个。我想知道有什么方法可以基本上获得无限数量的结果。
      【解决方案3】:

      您可以使用 lowRange 和 highRange 来解决这个问题。见:https://productforums.google.com/forum/#!topic/customsearch/2qilVDaCz0A

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-08
      • 1970-01-01
      • 2017-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多