2015-08-27 77 views
0

我使用谷歌搜索API來提取第80個第一個結果。我的問題是,每次運行程序時,它都會給我不同數量的結果(URL)。使用谷歌搜索API的不同結果數量

注意:試圖讓行42

<?php 

    $query='site:https://fr.wikipedia.org%20sport'; 
    $url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&hl=fr&rsz=large&q=".$query; 

    $body = file_get_contents($url); 
    $json = json_decode($body); 

    $inF = fopen("fnm.txt","a"); 
    for($x=0;$x<count($json->responseData->results);$x++){ 

    echo "<b>Result ".($x+1)."</b>"; 
    echo "<br>URL: "; 
    echo $json->responseData->results[$x]->url; 
    fputs($inF,$json->responseData->results[$x]->url); fwrite($inF, "\r\n"); 
    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>"; 
    } 

    $j=0; 
    for ($i= 0; $i <= 10; $i++) 
    { 
    $j=$j+8; 
    echo $j; 
    $query = 'site:https://fr.wikipedia.org%20sport'; 
     $url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&hl=fr&rsz=large&start=$j&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; 
    fputs($inF,$json->responseData->results[$x]->url); fwrite($inF, "\r\n"); 
    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>"; 
    } 

} 

fclose ($inF); 

回答

0

看看這個答案非對象的屬性 - https://stackoverflow.com/a/4353393/5214904。 簡而言之:有編輯 64個結果

沒有API密鑰限制: 見https://developers.google.com/web-search/docs/#php-access 你需要把你的/客戶機IP地址和引薦字段您的網站。你可以用CURL來完成。

+0

我的問題是,我運行程序時,我獲得不同數量的結果(8,16,...)。 。 – Rim

+0

查看我的編輯評論 – SevStryker

+0

現在有64個結果,非常感謝 – Rim