我需要重复以下查询,以增加Google图片的结果。单击按钮后执行代码。
Google文档说:
Google自定义搜索和Google站点搜索每个查询最多返回10个结果。如果要向用户显示10个以上的结果,则可以发出多个请求(使用start = 0,start = 11 ...参数)并将结果显示在单个页面上。在这种情况下,Google会将每个请求视为一个单独的查询,如果您使用的是Google Site Search,则每个查询都将计入您的限制。
要获得更多结果,您应该拨打多个电话。在每个不同的调用中,将参数“ start”的值增加10。
而且这个说:
现在,您一次不能向Google询问10个以上的结果。因此,您必须再次查询以11为起始的10个结果。因此,在下一个查询中,保持num = 10和start = 11。现在,您可以通过更改起始值来获得所有结果。
如何重复以下操作并start
每次增加参数?
function googleImages() {
var myCx = "MY_CX";
var myKey = "MY_KEY";
$.getJSON("https://www.googleapis.com/customsearch/v1", {
q: termS + " in 1930 in " + country,
alt: "json",
searchType: "image",
cx: myCx,
num: 10,
start: 0,
key: myKey,
rights: "cc_publicdomain",
filter: "1",
safe: "high",
imgType: "photo",
fileType: "jpg"
},
function (data) {
$.each(data.items, function(i,item) {
$(".my_images .row .grid").append('<div class="col-sm-4 grid-item"><div class="thumbnail"><img class="img-responsive" src="' + item.link + '"></div></div>');
});
var $grid = $('.grid').packery({
// options
itemSelector: '.grid-item',
percentPosition: true
});
$grid.imagesLoaded().progress( function() {
$grid.packery('layout');
});
});
}
您应该start
在两次调用之间节省价值,例如,您可以使用如下模式:
function createGoogleImagesLoader(initialValue) {
var _start = initialValue || 0;
var imagesCount = 10;
return function() {
$.getJSON("https://www.googleapis.com/customsearch/v1", {
...
num: imagesCount,
start: _start
},..);
_start += imagesCount;
}
}
var googleImages = createGoogleImagesLoader();
googleImages() // load from 0 to 10
googleImages() // load from 10 to 20 etc.
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句