📜  GET https: api.openweathermap.org data 2.5 weather?q=Ellicott City&appid=c66f67ad87fb9cf6b8f300a8d453349b&units=metric (1)

📅  最后修改于: 2023-12-03 15:30:53.698000             🧑  作者: Mango

程序员介绍: 使用 OpenWeatherMap API 获取天气数据

介绍

在开发应用程序时,如果需要获取当前位置的天气数据,可以使用 OpenWeatherMap API。OpenWeatherMap 是一个提供实时天气数据的服务,因此程序员可以使用该服务来获取整个世界范围内的天气信息。

请求URL

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
}
解析 JSON

使用 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 天的天气预报以及其他有用的信息,请查阅官方文档了解更多信息。