You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何突破NPS API默认限制获取更多公园数据及全量结果?

解决NPS API获取全量公园数据的问题

1. 如何获取超过50条的公园数据

NPS API限制单请求最大返回50条数据,直接设置limit>50会触发报错,正确方式是使用**分页参数start**分批获取:

  • 每次请求固定limit=50(API允许的最大值)
  • 通过start参数指定数据起始位置,比如第一次start=0,第二次start=50,第三次start=100,以此类推,直到返回的数据不足50条,说明已获取全部数据。

以下是适配你现有库的Python代码示例:

import urllib.request
import json

API_KEY = "你的API密钥"
base_url = "https://developer.nps.gov/api/v1/parks"
all_parks = []

# 先获取当前总公园数量
initial_url = f"{base_url}?limit=1&API_KEY={API_KEY}"
with urllib.request.urlopen(initial_url) as response:
    data = json.load(response)
    total_parks = int(data["total"])

# 循环分批请求数据
start = 0
while start < total_parks:
    request_url = f"{base_url}?limit=50&start={start}&API_KEY={API_KEY}"
    with urllib.request.urlopen(request_url) as response:
        park_data = json.load(response)
        all_parks.extend(park_data["data"])
    start += 50

print(f"共获取到{len(all_parks)}条公园数据")

2. 是否支持获取全量结果以适配未来新增数据

NPS API没有提供直接返回全量数据的参数,但通过上述分页逻辑可以实现全量获取,且能自动适配未来新增的公园:

  • 每次运行代码时,先请求一次获取最新的total值(当前总公园数量)
  • 根据最新的总条数自动计算需要请求的次数,确保不会遗漏新增的数据
  • 即使未来公园数量超过466,循环逻辑会自动调整请求次数,无需手动修改代码

内容的提问来源于stack exchange,提问作者museum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 18:57:17