Получение более 10 результатов API поиска Google

Я пытаюсь получить более 10 результатов из Google с помощью API поиска. Я знаю, что API поиска Google дает только 10 результатов, и вам нужно вызвать его 10 раз, чтобы получить сотню, но я не могу заставить его работать. Я пробовал создать цикл do while, а также цикл for, но все, что он делает, это дает мне одни и те же результаты снова и снова.

<?php


if(isset($_GET['input']) && $_GET['input'] != "")
{

    echo "<br />Your Search Results Google:<br /><br />";


    $i=0;



    $url =  "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&    key=AIzaSyBacVRiPNo7uMqhtjXG4Zeq1DtSQA_UOD4&cx=014517126046550339258:qoem7fagpyk
&num=10&start=".$i."&"."q=".str_replace(' ', '%20', $_GET['input'])

// sendRequest
// note how referer is set manually
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.com');
$body = curl_exec($ch);
    curl_close($ch);





// now, process the JSON string




$json = json_decode($body,true); 


do
{

foreach ($json['responseData']['results'] as $data) {
echo '
    <p>
        ', $data ['title']," ---> <u>Google SE </u>" ,'<br />
        ', '<a href ='.$data['url'].'>'.$data['url']."</a>" , '<br />
        ', $data['content'],'
    </p>';
}

$i++;       

}
while($i<3);


}
?>

Любой вклад приветствуется.


person Daniel o keeffe    schedule 21.07.2013    source источник
comment
У вашей петли проблема.   -  person srain    schedule 21.07.2013


Ответы (1)


Ok. просто попробуйте приведенный ниже код:

<?php
if(isset($_GET['input']) && $_GET['input'] != "")
{
    echo "<br />Your Search Results Google:<br /><br />";

    for ($i = 0; $i < 10; $i++)
    {

        $url =  "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&key=AIzaSyBacVRiPNo7uMqhtjXG4Zeq1DtSQA_UOD4&cx=014517126046550339258:qoem7fagpyk
            &num=10&start=".$i."&"."q=".str_replace(' ', '%20', $_GET['input']);
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.com');
        $body = curl_exec($ch);
        curl_close($ch);

        $json = json_decode($body,true);

        foreach ($json['responseData']['results'] as $data) {
            echo '
                <p>
                ', $data ['title']," ---> <u>Google SE </u>" ,'<br />
                ', '<a href ='.$data['url'].'>'.$data['url']."</a>" , '<br />
                ', $data['content'],'
                </p>';
        }
    }

}
?>
person srain    schedule 21.07.2013
comment
нет, подождите, он не просто выводил одни и те же результаты 100 раз. Вернуться к чертежной доске - person Daniel o keeffe; 21.07.2013
comment
Какое у вас слово для поиска? Дай мне попробовать. - person srain; 21.07.2013
comment
у меня есть remove & key = AIzaSyBacVRiPNo7uMqhtjXG4Zeq1DtSQA_UOD4 & cx = 014517126046550339258: qoem7fagpyk эта часть, и она отлично работает для меня .. спасибо, человек! - person ; 30.09.2014
comment
@Ashish, пост год назад. :) - person srain; 30.09.2014