📅  最后修改于: 2023-12-03 15:04:10.339000             🧑  作者: Mango
openweathermap是一个提供实时天气数据的API,通过它我们可以查找任何城市的实时天气情况。
本文将介绍如何使用Python调用openweathermap API,查找任何城市的当前天气。
我们需要先注册开放天气数据的开发者账户,获取API Key。注册地址:https://home.openweathermap.org/users/sign_up
注册时需要填写基本信息,然后激活账户。登录后,我们可以在https://home.openweathermap.org/api_keys中找到我们的API Key。
我们使用Python的requests库来向openweathermap发出API请求,所以我们需要先安装这个库。可以通过以下命令来安装:
pip install requests
接下来我们就可以开始编写Python脚本来获取我们所要查询的城市的实时天气数据了。
我们可以使用以下代码,填写相应的API Key和城市名称来获取实时天气数据:
import requests
API_KEY = "<YOUR_API_KEY>"
city_name = "<CITY_NAME>"
url = f"http://api.openweathermap.org/data/2.5/weather?q={city_name}&appid={API_KEY}&units=metric"
response = requests.get(url)
if response.status_code == 200:
# 获取JSON数据
data = response.json()
# 解析JSON数据
temp = data["main"]["temp"]
description = data["weather"][0]["description"]
# 输出结果
print(f"城市: {city_name}")
print(f"温度: {temp}℃")
print(f"天气情况: {description}")
else:
print("未找到该城市的天气数据")
在这段代码中,我们首先定义了API Key和城市名称(在实际应用中需要替换为自己的API Key和城市名称)。
然后,我们使用requests库构造了一个GET请求,向openweathermap API发送请求,获得实时天气数据。这里我们使用了f-string来构造请求URL,使得代码更加简洁。
接下来,我们判断HTTP响应的状态码为200(HTTP状态码200表示请求正常完成)。 如果状态码为200,则说明已经成功获取了实时天气数据,我们通过解析返回的JSON数据,获取当前城市的温度和天气情况,并将结果输出。 如果状态码不为200,则说明未找到该城市的天气数据,我们输出相应的提示信息。
通过以上步骤,我们成功地使用Python调用了openweathermap API,查找了任何城市的当前天气。
这个简单的示例可以帮助我们进一步了解API使用和JSON数据解析。也可以根据这个示例,自己开发更加复杂的天气应用程序。