URL参数我做错了什么?

2024-09-30 20:36:54 发布

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

我试图从ridbapi(政府娱乐数据)获取信息。但是,我对如何使用URL参数感到困惑。我查了很多例子,尝试了很多不同的方法。在

首先,我有一个https://ridb.recreation.gov/api/v1/trails/USFS/,它工作得很好。我得到一个包含线索信息的JSON结果,完美。但是,如果我尝试https://ridb.recreation.gov/api/v1/trails/USFS/milesmin10https://ridb.recreation.gov/api/v1/trails/USFS/milesmin=10或{}或{}作为例子,我什么也得不到。从所附图片中可以看出,milesmin是一个可接受的参数,有人能解释一下我的代码中是如何包含这些参数的,以及/或我明显做错了什么。在

URL Parameters


Tags: 数据httpsapiurl参数例子gov政府
1条回答
网友
1楼 · 发布于 2024-09-30 20:36:54

我用了requests,效果很好。您必须注册their API key才能使用此服务。过程很快,不到5分钟我就拿到了钥匙。这是得到结果的代码。在

import requests

# You must replace <your api key> with the key they give you
api = <your api key>
url = 'https://ridb.recreation.gov/api/v1/trails/USFS/'

params = {'milesmin': 10, 'apikey': api}

r = requests.get(url, params=params)


#    In [168]: r.request.url
#    Out[168]: 'https://ridb.recreation.gov/api/v1/trails/USFS/?milesmin=10&apikey=<your api key>'

#    In [169]: r.text[:500]
#    Out[169]: u'{"RECDATA":[{"TypicalTreadWidth":"N\\/A","MinimumTrailWidth":"N\\/A","TypicalTreadCrossSlope
#    ":"N\\/A","TerraMotorized":"N\\/A","AllowedSnowUse":"N\\/A","PackSaddleRestricted":"N\\/A",
#    "TrailSurface":"N\\/A","TrailNo":"8021SA","AllowedTerraUse":"N\\/A","XcountrySkiAccptDisc":"N\\/A",
#    "TrailUSFSID":20,"NonmotorWatercraftManaged":"N\\/A","XcountrySkiManaged":"N\\/A",
#    "BicycleManaged":"N\\/A","ShapeLength":0.5105766578900838,"MVUMSymbol":99,
#    "MotorcycleManaged":"N\\/A","GEOM":"LINESTRING (-111.69189874799997 39.9735'

相关问题 更多 >