在单个JSON中保存多个请求

时间:2018-10-03 23:01:51

标签: python json api python-requests jupyter

我的问题如下:我有一个在nparray(ip_array)中排序的Ips列表,然后我想对所有Ips进行多个请求并将输出保存在单个json中。 (APIKEY实际上是代码xD中的api密钥)

url_auth = 'https://api.ipgeolocation.io/ipgeo?apiKey=APIKEYAPIKEYAPIKEY='
for i in np.arange(1,4): 
    r[i] = requests.request(method='get',url=url_auth,params={'ips':ip_array[i]}) #i tested the single request and it works in this way.

但是后来,我得到了

TypeError: 'Response' object does not support item assignment

然后,我尝试用

替换最后一行
 r = requests.request(method='get',url=url_auth,params={'ips':ip_array[i]})

但是,当我这样做

r.json()

我只收到最后一个请求(很明显)。

1 个答案:

答案 0 :(得分:3)

存储每次迭代的响应:

url_auth = 'https://api.ipgeolocation.io/ipgeo?apiKey=APIKEYAPIKEYAPIKEY='
responses = []
for i in np.arange(1,4): 
    response = requests.request(method='get',url=url_auth,params={'ips':ip_array[i]})
    responses.append(response.json())

responses列表将包含所有响应对象。