【发布时间】:2020-05-19 17:01:09
【问题描述】:
我正在运行一个 get 请求,它以 json 格式返回一些数据,同时还为我提供下一页数据的下一个 url。我运行了一个 while 循环来获取所有数据,但想将每个新页面数据附加到现有对象。最终,我想要一个大的 json 对象或数组。
到目前为止,这是我的代码,我不认为 append 是正确的做法,因为它在每个页面的数组中创建一个索引。相反,我想要一个索引或一个包含所有数据的 json 对象。
host = 'https://xxxxx.com/api/v1/users'
headers = {'Accept': 'application/json', 'Content-Type': 'application/json',
'Authorization': 'xxxxx'}
response = requests.get('{}'.format(host),
headers = headers)
alist = []
keep_running = True
while keep_running:
json_response = response.json()
alist.append(json_response)
host = response.links['next']['url']
response = requests.get('{}'.format(host),
headers = headers)
keep_running = response.status_code == requests.codes.ok and 'next' in response.links.keys()
每页有 200 个对象,大约 18 页。我得到一个长度为 18 的数组,每个索引中有 200 个对象。理想情况下,我想要一个长度为 18*200 = 3,600 的数组。
我可以使用 pandas 创建数据框/表,但是,我也希望在原始 json 中使用它。任何想法或帮助表示赞赏。
【问题讨论】:
标签: python json python-requests