Logo
Section 1 / 3

当前天气数据

学习如何获取特定位置的实时天气数据。

导入

当前天气数据

学习如何获取特定位置的实时天气数据。

该 API 提供全球任意位置的实时天气数据。这些位置涵盖全球超过 20 万个城市。该 API 从多个数据源收集并处理天气信息,包括本地和全球气象模型、卫星、雷达以及广泛的气象站网络。我们可以通过 JSON、XML 和 HTML 格式获取该 API 的数据。

获取实时天气数据

我们通过向以下 URI 发送 GET 请求,来获取指定位置的实时天气数据:

https://api.openweathermap.org/data/2.5/weather?lat={lat}&lon={lon}&appid={APP_ID}

请求参数

参数类型必需性描述
APP_ID字符串必需我们的唯一 API 密钥。
lat小数必需位置的纬度。
lon小数必需位置的经度。
mode字符串可选指定 API 响应的格式,默认值为 json。其他可选值为 xml 和 html。
units字符串可选指定测量单位。默认值为 standard(标准单位)。其他可选值为 metric(摄氏度)和 imperial(华氏度)。
lang字符串可选用于指定返回结果的语言。

示例代码

第 1–2 行: 我们输入 47.6038321 和 -122.3300624,分别对应美国西雅图的地理坐标(纬度和经度),作为必需参数 lat 和 lon。

第 4–5 行: 您可以将上表中列出的其他可选参数添加到 url 中,以更精确地控制返回结果。

注意: 如需了解如何通过指定地点名称获取其地理坐标(纬度和经度),请参阅本课程中关于地理编码(Geocoding API)的课时。

点击下方小工具中的“运行”按钮,查看输出结果。

1lat = 47.6038321 2lon = -122.3300624 3 4url = 'https://api.openweathermap.org/data/2.5/weather?' \ 5 + 'lat=' + str(lat) + '&lon=' + str(lon) + '&appid={{APP_ID}}' 6 7response = requests.get(url) 8 9printResponse(response)

输出结果

上述代码的输出显示了与指定地理坐标相对应位置的实时天气数据。

接下来我们深入分析 API 返回的响应参数。

响应参数

参数类型描述
coord.lat小数位置的纬度。
coord.lon小数位置的经度。
weather.id整数天气状况的 ID 编码。
weather.main字符串天气参数的分类组。示例值包括 Clear(晴朗)、Rain(降雨)、Snow(降雪)和 Extreme(极端天气)。
weather.description字符串天气状况的描述文本。
weather.icon字符串天气图标 ID。
base字符串内部参数。
main.temp小数实际气温。默认单位为开尔文(K),metric 单位为摄氏度(°C),imperial 单位为华氏度(°F)。
main.feels_like小数体感温度。默认单位为开尔文(K),metric 单位为摄氏度(°C),imperial 单位为华氏度(°F)。
main.pressure整数海平面标准大气压。单位为百帕(hPa)。
main.humidity整数湿度百分比。单位为百分比(%)。
main.temp_min小数当前计算时刻的最低温度。默认单位为开尔文(K),metric 单位为摄氏度(°C),imperial 单位为华氏度(°F)。该值可能为空(NULL)。
main.temp_max小数当前计算时刻的最高温度。默认单位为开尔文(K),metric 单位为摄氏度(°C),imperial 单位为华氏度(°F)。该值可能为空(NULL)。
main.sea_level整数海平面处的大气压。单位为百帕(hPa)。
main.grnd_level整数地面处的大气压。单位为百帕(hPa)。
visibility整数平均能见度。单位为米(m)。
wind.speed小数风速。默认和 metric 单位为米/秒(m/s),imperial 单位为英里/小时(mph)。
wind.deg整数风向。单位为度(°)。
wind.gust小数风阵风速度。默认和 metric 单位为米/秒(m/s),imperial 单位为英里/小时(mph)。
clouds.all整数云量百分比。单位为百分比(%)。
rain.1h整数过去一小时内降雨量。单位为毫米(mm)。该值可能为空(NULL)。
rain.3h整数过去三小时内降雨量。单位为毫米(mm)。该值可能为空(NULL)。
snow.1h整数过去一小时内降雪量。单位为毫米(mm)。该值可能为空(NULL)。
snow.3h整数过去三小时内降雪量。单位为毫米(mm)。该值可能为空(NULL)。
dt整数数据计算的时间戳。单位为 Unix 时间(UTC)。
sys.type整数内部参数。
sys.id整数内部参数。
sys.message字符串内部参数。
sys.country字符串位置所属国家。
sys.sunrise整数日出时间。单位为 Unix 时间(UTC)。
sys.sunset整数日落时间。单位为 Unix 时间(UTC)。
timezone整数与 UTC 的时区差。单位为秒。
id整数城市的唯一标识 ID。
name字符串城市名称。
cod整数内部参数。

简介

One Call API 1.0