从分页响应获取所有数据

2024-06-25 23:00:05 发布

您现在位置:Python中文网/ 问答频道 /正文

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

这是我的密码

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个元素


Tags: 数据httpsdevapi密码get链接response
1条回答
网友
1楼 · 发布于 2024-06-25 23:00:05

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

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']

相关问题 更多 >