很多API都会限制每次返回的结果数量,而当需要查询大量结果时,需要对多个分页结果进行循环才能获取所有结果。这就是所谓的“API 分页循环”问题。
为了解决这个问题,我们可以编写一个循环函数,对API返回的数据进行分页,并每次获取下一页分页数据直到获取全部结果。例如,下面的示例代码展示了如何使用 Python语言实现一个简单的 API 分页循环:
import requests
def api_pagination(endpoint, params):
results = []
next_page = None
while True:
response = requests.get(endpoint, params=params)
if response.status_code != 200:
# Handle error
break
data = response.json()
results.extend(data['results'])
next_page = data['next']
if next_page is None:
break
params = next_page.split('?')[-1]
return results
# 示例使用
endpoint = 'https://api.example.com/results'
params = {'page': 1}
results = api_pagination(endpoint, params)
print(len(results))
在上面的代码中,我们通过使用 requests
库发起 API 请求,获取每一页的结果,并将这些结果保存在一个列表中。如果 API 返回的结果中包含下一页的链接,则通过切片方式更新参数并再次调用 API 请求,以获取下一页的结果。当没有下一页时,停止循环并返回所有结果。
下一篇:APIFetch返回空值