我不熟悉在python中使用requests
模块,可以使用一些指导:
我有一个API调用,每次调用都会返回以下json
{"current_page":1,"per_page":50,"total_entries":1033,"items":[...] }
该呼叫将在每个呼叫上返回不同数量的条目(有时为1k,有时为70k),我最多可以申请10000 total_entries
而不会延迟响应时间
请求函数如下:
def get_data():
url = 'https:/foobar.com/?parameter=baz&per_page=10000&page={page}'.format(page=page)
response = requests.get(url)
return response.json()
per_page = 50
page = 0
total_entries = 1000
items = []
while per_page * page < total_entries:
page += 1
try:
data = get_data(page)
except:
pass
else:
total_entries = data['total_entries']
page = data['current_page']
per_page = data['per_page']
items += data['items']
print(items)
我认为必须在调用之前将per_page
,page
和total_entries
设置为随机值,然后才在返回第一个json时获取它们,然后继续循环-但此方法无效
我在这里做错了什么?
items
的末尾应包含通话中的全部项目