【Python】基于 Flask 的 Python 网页天气查询应用开发实践 - 天气 API 探索

3. 天气 API 探索

3.1 选择适合的天气 API

首先,我们需要一个提供天气信息的 API。有许多免费的天气 API 可供选择,例如 OpenWeatherMap,Weatherstack 等。你需要去他们的官方网站注册并获取一个 API 密钥。

3.2 使用 requests 发送网络请求

Python 的 requests 库可以帮助我们发送 HTTP 请求。首先,我们需要安装 requests 库:

pip install requests

然后,我们可以使用以下代码来发送一个 GET 请求:

import requests

response = requests.get('http://api.weatherapi.com/v1/current.json', params={
    'key': 'YOUR_API_KEY',
    'q': 'San Francisco'
})

data = response.json()
print(data)

这段代码会向 Weather API 发送一个请求,查询 San Francisco 的天气,并打印出返回的 JSON 数据。

3.3 解析 JSON 数据

上面的代码中,response.json() 方法会将返回的 JSON 数据解析为一个 Python 字典。我们可以通过这个字典来获取我们需要的信息,例如天气,温度等:

weather = data['current']['condition']['text']
temp_c = data['current']['temp_c']
print(f'Weather: {weather}, Temperature: {temp_c}°C')

3.4 封装天气查询功能

最后,我们可以将上述代码封装为一个函数,便于后续使用:

def query_weather(city):
    response = requests.get('http://api.weatherapi.com/v1/current.json', params={
        'key': 'YOUR_API_KEY',
        'q': city
    })

    data = response.json()
    weather = data['current']['condition']['text']
    temp_c = data['current']['temp_c']
    return weather, temp_c

这样,我们可以通过 query_weather('San Francisco') 来查询 San Francisco 的天气。

天气 API 探索部分就到这里,下一部分我们将开始编写我们的 Flask 应用。