我正在为我的荣誉项目做一个小实验。我想要实现的是根据 2 个 Google 搜索查询计算返回的结果数量之间的相似性。当我有 2 个结果时,我希望将一个除以另一个以返回某种“比率”。
现在,使用 API 返回一个结果很容易,我一直在使用以下代码:
$query="CinammonRolls";
$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=$query";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$body = curl_exec($ch);
curl_close($ch);
$json = json_decode($body);
print 'The results for ' . $query . ' are: ' . $json->responseData->cursor->estimatedResultCount;
那段代码,返回结果很好。但是我对 PHP 比较陌生,所以下面的代码永远不会起作用;但我给了它一个bash。
$query="CinammonRolls";
$query2="CinammonRollsChinese";
$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=$query";
$url2 = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=$query2";
$ch = curl_init();
$ch2 = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch2, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 2);
$body = curl_exec($ch);
$body2 = curl_exec($ch2);
curl_close($ch);
curl_close($ch2);
$json = json_decode($body);
$json2 = json_decode($body2);
print 'The results for ' . $query . ' are: ' . $json->responseData->cursor->estimatedResultCount;
print 'The results for ' . $query2 . ' are: ' . $json2->responseData->cursor->estimatedResultCount;
那只是返回错误:
Notice: Undefined property: stdClass::$estimatedResultCount in C:\Program Files\EasyPHP-5.3.9\www\googleTest.php on line 24
所以我恳请大家,有没有办法解决这个问题?会不会像在单独的函数中计算两个结果一样?我难住了。
谢谢你的帮助。