如何从API获取所有页面 - Python?

时间:2017-08-10 08:50:22

标签: python python-requests

我有一个包含多个页面的API,所以我需要循环遍历所有页面以获取eveything。但是,我不确定如何正确地做到这一点。我已经编写了下面的代码,但它给了我一个错误:SyntaxError:'return'在函数外面。

import requests

def get_json(url):
    response = requests.get(url)
    return response.json() 

def my_range(start, end, step):
    while start <= end:
        yield start
        start += step

for pageNumber in my_range(1, 3, 1):
    return 

data_json = get_json('https://www.eventbriteapi.com/v3/events/search/?token=MYAPIKEY&expand=venue&location.latitude=55.676097&location.longitude=12.568337&location.within=5km&page='+pageNumber)

eventbrite = data["events"]

2 个答案:

答案 0 :(得分:1)

提供的代码中存在设计错误。在前两个def:s中你定义了两个没有问题的函数,但是我认为你是在写一个主要的而没有声明

def main():

然后调用main()。错误的结果来自于一个有趣的地方的“回归”。

答案 1 :(得分:1)

由于您使用的是requests库,因此请查看params文档here。当您拨打get_json()时,这将帮助您绕过您正在进行的手动注射。如果你知道你有多少页面,你可以遍历每个页面并为每个页面进行网络呼叫 - 如果你有10个页面,你最终会进行10次网络呼叫。

这当然假设你分页每个端点