如何获得谷歌api的10个搜索结果,我有一个代码,但它只显示4个搜索结果
$query = 'akon';
$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>";
}
答案 0 :(得分:1)
可以从此api获得的最大结果数为8.您可以通过添加&#34;&amp; rsz = large&#34;来实现。到你的网址如下。
$ url =&#34; http://ajax.googleapis.com/ajax/services/search/web?v=1.0 &amp; rsz = large &amp; q =&#34;。$ query;
要获得8个以上的结果,您需要通过添加另一个名为&#34; start&#34;的参数来执行上述操作两次。这是基于零指数的。因此,对于结果的第一页,$ url必须是
$ url =&#34; http://ajax.googleapis.com/ajax/services/search/web?v=1.0 &amp; rsz = large&amp; start = 0 &amp; q =&#34;。$ query;
对于第二页,
$ url =&#34; http://ajax.googleapis.com/ajax/services/search/web?v=1.0 &amp; rsz = large&amp; start = 8 &amp; q =&#34;。$ query;