谷歌自定义搜索限制没有结果

时间:2018-05-18 05:33:10

标签: javascript jquery google-custom-search

当我使用下面给出的代码限制结果时,我希望获得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> 

2 个答案:

答案 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,则每个查询都会计入您的限制。