【发布时间】:2020-12-22 19:22:02
【问题描述】:
我正在从 API 端点检索数据,该端点一次最多只能检索 100 个数据点。响应中有一个“下一页”字段,我可以使用它来检索接下来的 100 个数据点等等(总共大约 70,000 个),方法是将下一页 URL 插入 GET 请求。如何利用 for 循环或 while 循环通过自动将“下一页”URL 插入到 get 请求中来检索端点中的所有可用数据?
这是我正在使用的代码。问题是当我执行 While 循环时,每次都会得到相同的响应,因为它在第一个响应实例上运行。我想不出如何调整这个的解决方案。
response = requests.get(url + '/api/named_users?limit=100', headers=headers)
users = []
resp_json = response.json()
users.append(resp_json)
while resp_json.get('next_page') != '':
response = s.get(resp_json.get('next_page'), headers = headers)
resp_json = response.json()
users.append(resp_json)
总结一下:我想在每个响应中获取“下一页”URL,以获取接下来的 100 个数据点并将其附加到列表中,直到我获取所有数据为止。
【问题讨论】:
标签: python for-loop while-loop get iteration