Python谷歌地点API - next_page_token只工作一次

z6psavjg  于 2022-12-28  发布在  Python
关注(0)|答案(1)|浏览(123)
    • 简介:**

我正在使用Google地点API googlemaps,特别是places函数,使用文本查询搜索从GoogleMap返回地点。

    • 问题:**

默认情况下,函数返回20个项目。为了查询,您应该查询next_page_token以获得接下来的20个项目。它只工作一次,所以我最终有40个项目的最大搜索词。
下面是一个文本查询搜索"加油站"术语,应该返回各种结果。您可以看到next_page_token第一次出现。

> places_result = gmaps.places(query = 'gas station',location='30.033333,31.233334', radius=100000, open_now=False)
> pprint.pprint(places_result)

{'html_attributions': [],
 'next_page_token': '<token-code>'
.
.

第二次也是如此:

> places_result = gmaps.places(query = 'gas station', page_token = places_result['next_page_token'])
> pprint.pprint(places_result)

{'html_attributions': [],
 'next_page_token': '<token-code>'

第三次工作,缺少next_page_token

> places_result = gmaps.places(query = 'gas station', page_token = places_result['next_page_token'])
> pprint.pprint(places_result)

{'html_attributions': [],
 'results': [{'business_status': 'OPERATIONAL'
.
.

下面是来自谷歌API文档的链接:

    • 访问其他结果**

"默认情况下,每个邻近搜索或文本搜索每次查询返回多达20个机构结果;但是,每个搜索最多可返回60个结果,这些结果分布在三个页面上。如果搜索返回的结果超过20个,则搜索响应将包括一个附加值-next_page_token。将next_page_token的值传递给新搜索的pagetoken参数,以查看下一组结果。如果next_page_token为null或未返回,则没有更多结果。
这是API的设计吗?因为在谷歌Map网站上输入搜索词会返回更多我想匹配的结果。

ttcibm8c

ttcibm8c1#

你可以利用时间。睡眠的seach是完整的。像:

places_result  = gmaps.places_nearby(query = 'gas station',location='30.033333,31.233334', radius=100000, open_now=False)
time.sleep(3)
places_result  = gmaps.places_nearby(page_token = places_result['next_page_token'])

相关问题