📅  最后修改于: 2023-12-03 15:30:53.698000             🧑  作者: Mango
在开发应用程序时,如果需要获取当前位置的天气数据,可以使用 OpenWeatherMap API。OpenWeatherMap 是一个提供实时天气数据的服务,因此程序员可以使用该服务来获取整个世界范围内的天气信息。
GET https://api.openweathermap.org/data/2.5/weather?q=Ellicott%20City&appid=c66f67ad87fb9cf6b8f300a8d453349b&units=metric
|参数|描述| |---|---| |q|查询的城市名称| |appid|提供的API密钥| |units|温度单位|
查找城市:在 API 请求中,查询城市名称是必须的参数。在上面的请求中,我们搜索名为 Ellicott City 的城市。
API 密钥:该密钥是你注册到 OpenWeatherMap 网站后获得的。该密钥用于验证对 API 的访问请求。
摄氏度单位:在示例请求中,我们将 units=metric
,以便以摄氏度为单位返回温度。
使用上述请求后,OpenWeatherMap API 返回以下 JSON 响应:
{
"coord": {
"lon": -76.85,
"lat": 39.27
},
"weather": [
{
"id": 800,
"main": "Clear",
"description": "clear sky",
"icon": "01d"
}
],
"base": "stations",
"main": {
"temp": 16.92,
"feels_like": 16.16,
"temp_min": 15,
"temp_max": 18.89,
"pressure": 1027,
"humidity": 88
},
"visibility": 10000,
"wind": {
"speed": 1.5,
"deg": 82,
"gust": 3.11
},
"clouds": {
"all": 1
},
"dt": 1602627795,
"sys": {
"type": 1,
"id": 4737,
"country": "US",
"sunrise": 1602608508,
"sunset": 1602647116
},
"timezone": -14400,
"id": 4358142,
"name": "Ellicott City",
"cod": 200
}
使用 Python 验证 API 响应中包含的数据:
import requests
# API请求
url = "https://api.openweathermap.org/data/2.5/weather?q=Ellicott%20City&appid=c66f67ad87fb9cf6b8f300a8d453349b&units=metric"
response = requests.get(url)
# 解析JSON
data = response.json()
# 输出温度
print(f"温度 {data['main']['temp']}°C")
这将输出 温度 16.92°C
。
OpenWeatherMap API 可以用于访问实时天气数据。在上面的示例中,我们向 OpenWeatherMap API 提交一个 GET 请求并解析 JSON 响应。 该 API 还提供其他功能,例如逐小时预报,未来 5 天的天气预报以及其他有用的信息,请查阅官方文档了解更多信息。