0

目前我正在使用类似这样的代码:

$tracks[0] = 'insert popular random song here';
$query = urlencode($tracks[0]." download 4shared");
$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=".$query;
$json = json_decode(file_get_contents($url));

echo $json->responseData->results[0]->url."<br/>";
echo $json->responseData->results[1]->url."<br/>";
echo $json->responseData->results[2]->url;

当我从浏览器在谷歌上搜索“chop suey download 4shared”时,它会返回一些 4shared 下载页面,但是当我使用上面列出的方法时,它会返回一些来自 soundcloud 的随机链接并从 4shared 搜索,这对我来说完全没用目的。我在 Firefox、Chrome 和 Chrome Incognito 上试过

如何使用 Google API 搜索在浏览器上获得相同的结果?

编辑

通过更改查询部分解决了它:

$query = "site:4shared.com+".str_replace(' ', '+', $track[0]);
4

1 回答 1

0

你没有。

您从浏览器搜索中得到不同的结果,因为 Google 通常知道您是谁,并且会调整其搜索结果以更适合。如果您从其他人的浏览器进行搜索,您将得到不同的结果。

当您通过 API 在我认为您的服务器上运行查询时,Google 没有您的个人资料,或者可能没有任何个人资料,并基于此返回结果集。

这被称为过滤气泡,一旦您知道自己在其中,可能会有点令人生气。

于 2013-09-12T17:51:01.893 回答