【问题标题】:More than 7 results for Google local search?超过 7 个 Google 本地搜索结果?
【发布时间】:2011-01-11 18:15:11
【问题描述】:

目前我正在使用以下代码:

$zipcode = '91762';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://ajax.googleapis.com/ajax/services/search/local?v=1.0&q=restauraunts+".$zipcode."&rsz=large");
curl_setopt($ch, CURLOPT_HEADER, 0);
ob_start();
curl_exec($ch);
$data = ob_get_contents();
ob_end_clean();
curl_close($ch);
$restauraunts_array = json_decode($data, true);

        foreach($restauraunts_array['responseData']['results'] as $key => $value) {
            $results[] = array(
                'title' => $value['titleNoFormatting'],
                'address' => $value['streetAddress'],
                'city' => $value['city'],
                'state' => $value['region'],
                'zipcode' => $zipcode,
                'phone' => $value['phoneNumbers'][0]['number'],
                'lat' => $value['lat'],
                'lng' => $value['lng']
            );
        }

但它只会返回 7 个结果。我正在寻找一种方法来获得更多。我查看了 API 代码,但没有找到任何方法来获取更多结果。可以做到吗?您能否指出如何获得多个结果的文档/实现?

回答:Mikey 能够提供我正在寻找的答案。以下是我为获得 32 个结果所做的工作:

 $zipcode = '91762';
    $results = array()
    $counter = array(0,8,16,24);
    foreach($counter as $page) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://ajax.googleapis.com/ajax/services/search/local?v=1.0&q=restauraunts+".$zipcode."&rsz=large&start=".$page);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    ob_start();
    curl_exec($ch);
    $data = ob_get_contents();
    ob_end_clean();
    curl_close($ch);
    $restauraunts_array = json_decode($data, true);
    if(!empty($restauraunts_array['responseData']['results'])) {
            foreach($restauraunts_array['responseData']['results'] as $key => $value) {
                $results[] = array(
                    'title' => $value['titleNoFormatting'],
                    'address' => $value['streetAddress'],
                    'city' => $value['city'],
                    'state' => $value['region'],
                    'zipcode' => $zipcode,
                    'phone' => $value['phoneNumbers'][0]['number'],
                    'lat' => $value['lat'],
                    'lng' => $value['lng']
                );
            }
      }
      return $results;

【问题讨论】:

    标签: php google-api google-local-search


    【解决方案1】:

    您目前在大多数情况下都受到限制 案例共 64 个结果 - 跨越 8 页,每页 8 个结果 - 您可以使用 搜索 API。例外情况 规则是本地和博客。当地的 将返回最多 4 页,共 8 页 结果,总共32个,和 博客将只返回前 8 个。

    来源:http://groups.google.com/group/Google-AJAX-Search-API/browse_thread/thread/db6616286ce83ca0

    【讨论】:

    • 你也需要加&start=9才能抢到下一页结果
    • 不错!这正是我一直在寻找的。我已经用解决方案更新了问题!再次感谢!
    • 别担心,伙计!很高兴我能帮上忙……现在可能不得不窃取你的代码,+1 回答你的问题
    • 这就是我将其发回的原因。分享和分享!随意使用。
    【解决方案2】:

    这是不正确的 - 4 页,每页 8 个结果绝对是您可以检索的最大值。

    本地搜索最多 32 个结果 - 常规搜索最多 64 个结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-30
      • 1970-01-01
      相关资源
      最近更新 更多