Подтвердить что ты не робот

Как получить ВСЕ результаты поиска Google, используя api

Мне нужно получить результаты поиска Google для запроса. Но используя что-то вроде этого

$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)

Я получаю только 4 результата, я уже читал о поиске google ajax, но не мог его понять. Пожалуйста, сообщите, как получить все результаты, или только первые 100 результатов?

4b9b3361

Ответ 1

<?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>";

}

?>

Ответ 2

Ответ:

Вот что я успешно использую:

http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=[q]&key=[key]&cx=[account]&rsz=large&userip=[userip]&start=[start]

Я не думаю, что у вас есть полный контроль над тем, сколько результатов можно получить в запросе. Но вы можете контролировать размер результатов (rsz=large) и где он начинается.

Другие примечания:

Кроме того, всегда полезно включать туда IP-адрес пользователя. Потому что Google ограничивает количество запросов на основе уникальных IP-адресов (что означает, сколько из ip-адреса). Поэтому, если все они приходят с вашего сервера, вы будете ограничены количеством запросов, которые вы можете отправить, но ограничения уходят вниз, если вы отправляете IP-адрес пользователя. Кроме того, кеширование результатов в течение нескольких дней - дополнительный бонус.