如何通过增加 startIndex(开始)参数使 Google 自定义搜索 API 多次调用以在 PHP 中一次显示超过 10 个结果

How to make Google custom search API multiple calls by increasing startIndex (start) parameter to show more than 10 results at once in PHP

我看了很多与此类似的问题,但找不到有用的答案。

据我所知,从 Google 自定义搜索 API 中收到的结果不可能超过 10 个。但是,我想知道如何通过增加 startIndex (start) 参数来进行多次调用以显示更多结果。

下面是我静态增加start参数的代码。

$json_string_1 = 'https://www.googleapis.com/customsearch/v1?key='.$api_key.'&cx='.$cx.'&q='.$q.'&start=1';

$jsondata_1 = file_get_contents($json_string_1);
$obj_1 = json_decode($jsondata_1, true);
print_r($obj_1);


$json_string_2 = 'https://www.googleapis.com/customsearch/v1?key='.$api_key.'&cx='.$cx.'&q='.$q.'&start=11';

$jsondata_2 = file_get_contents($json_string_2);
$obj_2 = json_decode($jsondata_2, true);
print_r($obj_2);

如何动态调用 start 参数,就好像我有 nstartIndex 或以任何方式在循环中调用此 API 所以 startIndex 将自动递增 10.

我想出了如何通过增加 start 来循环 API 多次调用并立即获得完整的结果。

$count = 200;

for($page=1; $page < $count; $page=$page+10) { 

    $json_string_1 = 'https://www.googleapis.com/customsearch/v1?key='.$api_key.'&cx='.$cx.'&q='.$q.'&start='.$page;

    $jsondata_1 = file_get_contents($json_string_1);
    $obj_1 = json_decode($jsondata_1, true);

    foreach ($obj_1["items"] as $data) {
        echo $data["title"]."<br>";
    }
}

在上面的代码中,从查询搜索结果中获取 $count 值,例如

$totalResults = $data["searchInformation"]["totalResults"];
$count = $totalResults/10; //per page number of counts are 10