当我使用下面给出的代码限制结果时,我希望获得google api的前40名结果,那么我怎样才能获得google api的前40名结果
<script>
(function() {
var cx = '006925870720824680899:dalusahelrm';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = 'https://cse.google.com/cse.js?cx=' + cx+"&start=1&num=40';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script>
<gcse:search></gcse:search>
答案 0 :(得分:1)
尝试将“webSearchResultSetSize”属性添加到搜索元素中。每页最多可以有20个结果。 见https://developers.google.com/custom-search/docs/element#supported_attributes
这样的事情:
<script>
(function() {
var cx = '006925870720824680899:dalusahelrm';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script>
<gcse:search webSearchResultSetSize=20></gcse:search>
答案 1 :(得分:0)
根据官方documentation,在单个请求中无法返回超过10个结果。
有效值是介于1和10之间的整数。
This Google support document建议您执行其他查询,如果要获取10个以上的结果,请增加起始值。
Google自定义搜索和Google Site Search每次查询最多可返回10个结果。如果要向用户显示10个以上的结果,可以发出多个请求(使用start = 0,start = 11 ...参数)并在单个页面上显示结果。在这种情况下,Google会将每个请求视为单独的查询,如果您使用的是Google Site Search,则每个查询都会计入您的限制。