Python 为什么在同一代码集中第二次运行requests.get和json时会得到一个空数组?
我正在运行一个程序,从谷歌地图API中提取信息。API一次只加载20个响应(最多60个),因此我必须发送一个初始请求,然后发送第二个和第三个请求以获取所有数据。我的问题是,第二个请求似乎有效(我得到了返回),但当我尝试使用json解析它时,得到的是一个空数组。代码在第一次迭代中工作,但在第二次迭代中不工作 第一次迭代:Python 为什么在同一代码集中第二次运行requests.get和json时会得到一个空数组?,python,json,python-requests,Python,Json,Python Requests,我正在运行一个程序,从谷歌地图API中提取信息。API一次只加载20个响应(最多60个),因此我必须发送一个初始请求,然后发送第二个和第三个请求以获取所有数据。我的问题是,第二个请求似乎有效(我得到了返回),但当我尝试使用json解析它时,得到的是一个空数组。代码在第一次迭代中工作,但在第二次迭代中不工作 第一次迭代: response1 = requests.get(url1) print(response1) results1 = response1.json()['results'] pr
response1 = requests.get(url1)
print(response1)
results1 = response1.json()['results']
print(results1)
jj1 = json.loads(response1.text)
print(jj1)
if 'next_page_token' in jj1:
next_page_token1 = jj1['next_page_token']
url2 = 'https://maps.googleapis.com/maps/api/place/nearbysearch/json?key='+str(api_key)+'&pagetoken='+str(next_page_token1)
print(url2)
response2 = requests.get(url2)
print(response2)
**results2** = response2.json()['results'] *results2 is []
print(results2)
jj2 = json.loads(response2.text)
print(jj2)
第二次迭代:
response1 = requests.get(url1)
print(response1)
results1 = response1.json()['results']
print(results1)
jj1 = json.loads(response1.text)
print(jj1)
if 'next_page_token' in jj1:
next_page_token1 = jj1['next_page_token']
url2 = 'https://maps.googleapis.com/maps/api/place/nearbysearch/json?key='+str(api_key)+'&pagetoken='+str(next_page_token1)
print(url2)
response2 = requests.get(url2)
print(response2)
**results2** = response2.json()['results'] *results2 is []
print(results2)
jj2 = json.loads(response2.text)
print(jj2)
我能够通过在代码执行中添加暂停来解决这个问题。我的代码中有3个GoogleMapsAPI请求。如果他们不暂停处理,我会收到一条错误消息。一旦我添加了下面的模块和代码,代码就工作了
在此处输入代码
导入时间
time.sleep(2)这似乎是API实现/使用的一个非常具体的问题,与python无关。这可能会有所帮助