我需要使用Google自定义搜索API https://developers.google.com/custom-search/v1/overview。从那页开始,它说:
对于CSE用户,API每天免费提供100个搜索查询。 如果您需要更多,可以在开发人员中注册结算 安慰。额外请求每1000次查询需要花费5美元,最高可达10k 每天查询。
我已经在开发者控制台中注册了结算信息。但是,我仍然无法检索超过100的结果。我还应该做些什么? https://www.googleapis.com/customsearch/v1?cx=CSE_INSTANCE&key=API_KEY&q=QUERY&start=100
{error:{errors:[{domain:“global”,reason:“invalid”,message: “无效值”}],代码:400,消息:“无效值”}}
答案 0 :(得分:3)
查询:定义
https://support.google.com/customsearch/answer/1361951
来自Google Site Search引擎的任何实际用户查询,包括但是 不限于使用XML安装在您网站上的搜索引擎, iFrame或自定义搜索元素。
这意味着您可能需要发送11个查询才能获得超过100个结果。
GET https://www.googleapis.com/customsearch/v1?&q=QUERY&...&start=1
GET https://www.googleapis.com/customsearch/v1?&q=QUERY&...&start=11
GET https://www.googleapis.com/customsearch/v1?&q=QUERY&...&start=21
GET ...
GET https://www.googleapis.com/customsearch/v1?&q=QUERY&...&start=81
GET https://www.googleapis.com/customsearch/v1?&q=QUERY&...&start=91
GET https://www.googleapis.com/customsearch/v1?&q=QUERY&...&start=101
检查每个回复,如果error
code
为400
,您可以停止 - 可能无需发送下一个(&start=
之前的+ 10)请求。< / p>
现在您可以合并回复并开始构建结果页面。
Google自定义搜索和Google Site Search最多可返回10个结果 每个查询。如果要向用户显示10个以上的结果, 你可以发出多个请求(使用start = 0,start = 11 ... 参数)并在单个页面上显示结果。在这种情况下, Google会将每个请求视为单独的查询,如果您是 使用Google Site Search时,每个查询都会计入您的限制。
然后我可能有更好的方法来实现这一点。 (但是,我不确定batching API calls。)
并且(最后)可能回答你的问题:我做了很多测试,但我没有任何运气start
大于100(我和你一样 - {{1} })。我在启用结算的项目中使用“浏览器密钥”。使用CSE API获得That could mean we can't get 101st, 102nd, 103rd, etc.个结果。