Java 如何从Google自定义搜索API获得100多个结果

Java 如何从Google自定义搜索API获得100多个结果,java,google-api,google-api-java-client,google-custom-search,Java,Google Api,Google Api Java Client,Google Custom Search,我正试图使用谷歌自定义搜索API进行Java的研究。因此,我需要为每个查询设置一个大的结果集。然而,我似乎只知道前100个结果,这比我需要的要少得多。我使用的列表方法如下: list.setStart(90L); 当我将其设置为从索引100开始时,我得到以下错误: com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request { "code" : 400, "errors

我正试图使用谷歌自定义搜索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" 
}

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

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

谷歌自定义搜索(免费)也有每天100次查询的限制,所以如果你想要更多,你必须付费


您可以在此处找到定价:

两个限制之间存在差异:a)每天最多100次查询;和b)每个搜索短语最多100个结果(甚至分为10个查询,每个查询10个结果)。限制(a)可以通过向谷歌付费来解决,而限制(b)根本无法解决,这似乎是CSE产品在搜索整个网站时的一项功能(即,不仅仅是一个网站搜索,它可以提供更多的结果),请参见例如。

您可以使用lowRange和highRange来解决此问题。请参阅:

谢谢。是的,我已经知道了。问题不在于查询的数量。据我所知,谷歌只为每个查询提供10个结果,因此如果我需要更多结果,我必须重复我的查询并更改起始索引。但改变起始指数的限制是90。这意味着每个查询的结果不能超过100个。我想知道是否有任何方法可以基本上获得无限数量的结果。请在您的答案中发布相关代码,以添加到您发布的链接中。在论坛的帖子中,有人指出这是行不通的。我自己刚刚证实了这一点。