Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 谷歌地图API抓取一个地区的所有地方_Python_Json_Google Maps - Fatal编程技术网

Python 谷歌地图API抓取一个地区的所有地方

Python 谷歌地图API抓取一个地区的所有地方,python,json,google-maps,Python,Json,Google Maps,我想把一个地区所有的“药店/药房”都刮干净,但我只能得到有限的数量,而不是全部 是否需要一次获取所有json数据 url = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?" location = "33.589886, -7.603869" radius = 26000 place_type = "pharmacy" language = "fr" r = requests.get(url + '&locat

我想把一个地区所有的“药店/药房”都刮干净,但我只能得到有限的数量,而不是全部

是否需要一次获取所有json数据

url = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?"
location = "33.589886, -7.603869"
radius = 26000
place_type = "pharmacy"
language = "fr"
r = requests.get(url + '&location=' +str(location)+'&radius='+str(radius) +   
'&type='+place_type+'&language='+language+'&key=' + api_key) 
我只得到20个结果,而我希望得到该半径内的全部结果。

根据,Places API最多返回20个结果:

Places API每个查询最多返回20个建立结果

然后,您应该使用
next_page_标记
生成新查询并获取下一页的结果:

next_page_token
包含一个可用于返回最多20个额外结果的token。如果没有其他结果可显示,则不会返回
下一页\u标记。可以返回的最大结果数为60。在发出
下一个\u页面\u令牌
与该令牌生效之间存在短暂延迟

例如:

next\u page\u token=r.json().get('next\u page\u token'))
而下一页\u令牌:
r=requests.get(url+'&pagetoken='+next\u page\u token)
#解析结果页面
next\u page\u token=r.json().get('next\u page\u token')

places API最多只能有60个响应(20人一组)