link img google image json google-api

image - img - API de Google AJAX: ¿Cómo obtengo más de 4 resultados?



jquery cdn google (7)

Creo que la única forma de hacerlo es hacer múltiples llamadas al servicio web especificando el parámetro ''inicio''.

http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=Apple+Cake&start=4

El parámetro de start es el índice basado en 0 en los resultados de búsqueda. Entonces en este ejemplo, devolvería imágenes 4..7.

También puede agregar el parámetro rsz=[1-8] . El valor predeterminado es 4. Por eso obtienes 4 resultados por solicitud. Aquí hay un enlace:
http://code.google.com/apis/imagesearch/v1/jsondevguide.html#basic_query

Estoy usando las API de Google ajax a continuación para obtener imágenes para términos de búsqueda particulares. Esto se está haciendo en una aplicación de WinForms .

El siguiente enlace parece funcionar, pero solo devuelve 4 resultados (a través de JSON)

¿Alguien sabe cómo sacarle más provecho?

http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=Apple+Cake

Obviamente, tiene que haber otro parámetro para solicitar más o ver los resultados, ¿pero parece que no puedo resolverlo? ¿Nadie sabe?


Google Feed proporciona un método opcional, donde puede especificar el no. de los resultados que desea obtener. Si no especifica este método, el no predeterminado. De los resultados que obtienes es 4, sin embargo para obtener más no. de feeds puedes especificar este método opcional de la siguiente manera;

feed.setNumEntries(int);

por ejemplo: feed.setNumEntries(16); // will return 16 results. feed.setNumEntries(16); // will return 16 results.

.setNumEntries (num) establece el número de entradas de feed cargadas por este feed en num. Por defecto, la clase Feed carga cuatro entradas.

.setNumEntries () no tiene valor de retorno.

https://developers.google.com/feed/v1/reference#setNumEntries


Para aquellos de ustedes que se preguntan cómo hacer esto, hay varias maneras. Uno sería ejecutar una consulta de bucle basada en un evento determinado. Entonces, por ejemplo ...

var biebresults = [], start = 0; function getBieb(startNumber){ $.getJSON("https://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=Justin%20Bieber&start="+startNumber+"&callback=?", function(results){ biebresults.push(results.responseData.results); if(biebresults.length < 538){ start = start + 4; getBieb(start); } else { // Do something with your billion bieb images. } }); } getBieb(start);

Este fragmento de código en particular (usando jQuery, por cierto) irá y tomará las primeras cuatro imágenes de tu estrella pop favorita. A partir de aquí, cuenta la cantidad de resultados y, si no es suficiente, ejecutará getBieb nuevamente, excepto que esta vez con el argumento startNumber aumentado.



Usa lo siguiente para obtener 8 resultados.

$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&rsz=large&start=0&q=".$query;

Después de eso, coloca el bucle for , así podrás obtener 64 resultados.

<?php $search =str_replace('' '', ''+'', @$_GET["q"]); $query = $search; for ($i=1; $i < 100; $i+8) { $url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&rsz=8&start=".$i."&q=".$query; $body = file_get_contents($url); $json = json_decode($body); for($x=0;$x<count($json->responseData->results);$x++){ echo "<b>Result ".($x+1)."</b>"; echo "<br>URL: "; ?> <a href="<?php echo $json->responseData->results[$x]->url; ?>" target="_blank"> <?php echo $json->responseData->results[$x]->url; ?> </a> <?php echo "<br>VisibleURL: "; ?> <a href="http://<?php echo $json->responseData->results[$x]->visibleUrl; ?>" target="_blank"> <?php echo $json->responseData->results[$x]->visibleUrl; ?> </a> <?php echo "<br>Title: "; echo $json->responseData->results[$x]->title; echo "<br>Content: "; echo $json->responseData->results[$x]->content; echo "<br><br>"; } $i+=8; }

?>


Visite ... este enlace sobre el método que necesita: setResultSetSize(num)


puedes obtener mas si quieres

public static void main(String[] args) throws UnsupportedEncodingException, IOException { String google = "http://www.google.com/search?q="; String search = "dinh la thang site:dantri.com.vn"; String charset = "UTF-8"; String userAgent = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2"; // Change this to your company''s name and bot homepage! System.out.println(URLEncoder.encode(search, charset)); int i=1; while(i<100){ Elements links = Jsoup.connect(google + URLEncoder.encode(search, charset)+"&start="+i).userAgent(userAgent).get().select("li.g>h3>a"); for (Element link : links) { String title = link.text(); //System.out.println(link.toString()); String url = link.absUrl("href"); // Google returns URLs in format "http://www.google.com/url?q=<url>&sa=U&ei=<someKey>". //System.out.println(url); url = URLDecoder.decode(url.substring(url.indexOf(''='') + 1, url.indexOf(''&'')), "UTF-8"); if (!url.startsWith("http")) { continue; // Ads/news/etc. } System.out.println(i+"Title: " + title); System.out.println("URL: " + url); } i=i+10; } } }