【问题标题】:how to get ALL google search results using api [duplicate]如何使用api获取所有谷歌搜索结果[重复]
【发布时间】:2012-12-27 13:03:33
【问题描述】:

我需要获取谷歌搜索结果进行查询。但是使用这样的东西

$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 个结果?

【问题讨论】:

标签: php google-search-api


【解决方案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)来获取 Google 搜索结果。他们有一个GitHub 存储库,应该很容易集成:

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

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

【讨论】:

  • 这是一个很好的例子。你能说出它的局限性吗?谢谢
  • @Monchito 感谢您的出色回答我几乎没有任何疑问它只给出 4 个结果我怎样才能获得更多结果
  • 为了获得更多结果,使用start 参数向服务器发起另一个查询。喜欢http://ajax.googleapis.com/ajax/services/search/images?v=1.0&amp;q=$query&amp;start=4
  • 这还能用吗?无法让它工作 - 获取 NULL json。 tks
  • 在撰写本文时不再工作。返回:{"responseData": null, "responseDetails": "Google Web Search API 不再可用。请迁移到 Google Custom Search API (developers.google.com/custom-search)", "responseStatus": 403}
【解决方案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 地址,则限制会大大降低。此外,将结果缓存几天是一个额外的好处。

【讨论】:

猜你喜欢
  • 2015-12-29
  • 2014-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-11
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
相关资源
最近更新 更多