如何解决无法获得超过20个数据的地方详细信息Gmaps地方信息API
我是Python的新手,尤其是使用Gmaps API来获取地点详细信息。
我要搜索具有以下参数的地方:
places_result = gmaps.places_nearby(location=' -6.880270,107.60794',radius = 300,type = 'cafe')
但实际上,我想获取特定纬度/经度和半径范围内的许多数据。因此,我尝试获取google api提供的新参数。那是page_token。这是文档的详细信息:
pagetoken -返回多达20个来自先前运行的搜索的结果。设置pagetoken参数将使用先前使用的相同参数执行搜索-除pagetoken以外的所有参数都将被忽略。 https://developers.google.com/places/web-service/search
因此,我尝试使用此功能获取更多数据(下一页数据):
places_result = gmaps.places_nearby(location=' -6.880270,type = 'cafe')
time.sleep(5)
place_result = gmaps.places_nearby(page_token = places_result['next_page_token'])
这是我的整个输出功能:
for place in places_result['results']:
my_place_id = place['place_id']
my_fields = ['name','formatted_address','business_status','rating','user_ratings_total','formatted_phone_number']
places_details = gmaps.place(place_id= my_place_id,fields= my_fields)
pprint.pprint(places_details['result'])
但是不幸的是,当我开始运行时,我只获得20个(最大)位置详细信息数据。我不知道页面标记参数的功能是否正确,因为输出的数据不能超过20个。
对于任何能给我提供解决问题建议的人,我深感感谢。非常感谢:)
解决方法
如文档here所述:
默认情况下,每个附近搜索或文本搜索每个查询最多返回20个建立结果;但是,每次搜索最多可以返回60个结果,分为三页。
因此,基本上,您当前正在经历的是预期的行为。在一个附近的搜索查询中,您无法获得20个以上的结果。
如果在发送您附近的第一个搜索查询时返回了next_page_token
,则意味着第二页显示了结果。
要访问第二页结果,就像您所做的一样,您只需要发送附近的另一个搜索请求,但是这次使用pagetoken
参数,并用{{1}设置其值}您是从第一个回复中得到的。
并且如果您附近的第二个搜索查询的响应中也存在next_page_token
,则表示第三个( 和最后一个 )页面结果也是可用的。您可以使用访问第二页的相同方法来访问结果的第三页。
回到您的查询,我尝试了指定的参数,但只能得到9个结果。是否打算将next_page_token
参数设置为仅300米?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。