在API中构造分页的while循环

时间:2019-01-31 16:57:13

标签: python python-requests

我不熟悉在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_pagepagetotal_entries设置为随机值,然后才在返回第一个json时获取它们,然后继续循环-但此方法无效

我在这里做错了什么?

items的末尾应包含通话中的全部项目

0 个答案:

没有答案