php - programacion - cómo obtener TODOS los resultados de búsqueda de google usando api
google search api (2)
La respuesta:
Esto es lo que uso con éxito:
http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=[q]&key=[key]&cx=[account]&rsz=large&userip=[userip]&start=[start]
No creo que tengas control total sobre cuántos resultados se pueden obtener en la consulta. Pero puede controlar el tamaño de los resultados ( rsz=large
) y dónde comienza.
Otras notas:
Además, siempre es bueno incluir la dirección IP del usuario allí. Porque, Google limita el número de consultas basadas en direcciones IP únicas (es decir, cuántas de una dirección IP). Por lo tanto, si todos vienen de su servidor, estará limitado en la cantidad de consultas que pueda enviar, pero los límites bajarán si envía la dirección IP del usuario. Además, el almacenamiento en caché de los resultados durante un par de días es una ventaja adicional.
Esta pregunta ya tiene una respuesta aquí:
Necesito obtener resultados de búsqueda de google para la consulta. Pero usando algo como esto
$query = ''Nikita Platonenko'';
$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=".urlencode($query);
$body = file_get_contents($url);
$json = json_decode($body);
var_dump($json)
Obtengo solo 4 resultados, ya he leído sobre la búsqueda de Google Ajax pero no pude entenderlo. Por favor avise cómo obtener todos los resultados, o solo los primeros 100 resultados?
<?php
$query = ''Nikita%20Platonenko'';
$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&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: ";
echo $json->responseData->results[$x]->url;
echo "<br>VisibleURL: ";
echo $json->responseData->results[$x]->visibleUrl;
echo "<br>Title: ";
echo $json->responseData->results[$x]->title;
echo "<br>Content: ";
echo $json->responseData->results[$x]->content;
echo "<br><br>";
}
?>
Como el AJAX Api ahora está depreciado, puede utilizar un servicio de terceros como SerpApi para obtener los resultados de Google. Tienen un repositorio de GitHub , y debería ser fácil de integrar:
$query = [
"q" => "Coffee",
"google_domain" => "google.com",
];
$serp = new GoogleSearchResults();
$json_results = $serp.json($query);