从分页响应中获取所有数据



我从一个已分页的端点发出请求,该端点正确地只返回第一个页面,并带有指向第二个页面的链接。我想一次返回所有数据。

这是我的代码

response = requests.get("https://swapi.dev/api/starships/")

我试过?max=26?limit=26但没有运气。

样本响应:

{
"count": 36, 
"next": "http://swapi.dev/api/starships/?page=2", 
"previous": null, 
"data": [
{
"MGLT": "60",.....}
]
}

请问我如何一次返回所有36个元素?

也许不是最漂亮的解决方案,但有效:

import requests
if __name__ == '__main__':
starships = list()
next_url = 'https://swapi.dev/api/starships/?page=1'

while next_url:
query_results = requests.get(next_url).json()
starships.extend(query_results['results'])
next_url = query_results['next']

最新更新