怎样用API的所有谷歌的搜索结果[复制](how to get ALL google search

2019-07-17 14:44发布

这个问题已经在这里有一个答案:

  • 谷歌AJAX API -我如何获得比4分的结果吗? 7个回答

我需要查询谷歌的搜索结果。 但是,使用这样的事情

$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的结果,我已经了解谷歌AJAX搜索,但无法理解。 请指教如何让所有resulsts,或只是前100个结果?

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

}

?>

随着AJAX API现在贬值了,你可以像使用第三方服务SerpApi得到谷歌的结果。 他们有一个GitHub的仓库,它应该很容易集成:

$query = [
    "q" => "Coffee",
    "google_domain" => "google.com",
];

$serp = new GoogleSearchResults();
$json_results = $serp.json($query);


Answer 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地址在那里。 因为,谷歌限制基于独立IP地址的查询数量(意思,多少从一个IP地址)。 所以,如果他们都从你的服务器来了,你会在多少可以查询发送限制,但限制走一路下跌,如果你发送的用户的IP地址。 另外,缓存结果几天是一个额外的好处。



文章来源: how to get ALL google search results using api [duplicate]