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

如何从API-Python获取所有页面?,python,python-requests,Python,Python Requests,我有一个API,它有多个页面,所以我需要遍历所有页面来获取所有内容。然而,我不知道如何正确地做到这一点。我已经写了下面的代码,但它给了我一个错误:SyntaxError:“return”在函数外部 import requests def get_json(url): response = requests.get(url) return response.json() def my_range(start, end, step): while start <=

我有一个API,它有多个页面,所以我需要遍历所有页面来获取所有内容。然而,我不知道如何正确地做到这一点。我已经写了下面的代码,但它给了我一个错误: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"]
导入请求
def get_json(url):
response=requests.get(url)
返回response.json()
def my_范围(开始、结束、步骤):

启动时,提供的代码中存在设计错误。在前两个def:s中,您可以毫无问题地定义两个函数,但我认为您编写main时没有声明

def main():

然后调用main()。这个错误是由于在一个有趣的地方“return”导致的。

因为您使用的是
请求库
我想看看
参数
文档。这将帮助您在调用
get\u json()
时绕过手动注入。如果你知道你有多少页,你可以循环浏览每一页,为每一页打一个网络电话——如果你有10页,你最终会打10个网络电话


当然,这假设您必须对每个端点进行分页

,这意味着您在函数外部有一个
return
语句。在…
for循环中的
for页码之后,您有一个单独的
return
-您在这里想做什么?是的,这将修复
SyntaxError
,但代码无法正常工作。解决方案是删除
return
语句并缩进以下行。当op尝试连接
str+int
时,这仍然会导致
TypeError
,但这很容易修复