# 使用Python的requests库获取天气数据并动态输出HTML页面


背景介绍

Python的requests库是Python中常用的网络请求库,可以用于发送HTTP请求并获取动态数据。本项目要求开发者独立运行,无需依赖外部服务。任务的核心是通过构造正确的URL格式和API密钥,使用Python发送HTTP请求获取天气数据,并将结果以动态展示的HTML页面形式呈现。

思路分析

  1. 请求结构
    输入的URL需包含特定的API路径和密钥。例如,使用`https://api.weatherapi.com/v2/data.json?key=your_api_key`。请求类型为GET,参数为`key`,并以JSON格式返回。

  2. 数据解析
    从返回的JSON数据中提取天气信息,包括温度、湿度等字段。JSON解析后,需要将数据动态展示到HTML页面中,确保用户看到原始数据。

  3. HTML输出
    使用<div>标签动态填充数据,例如显示温度和湿度,增强页面交互性。HTML模板的结构清晰,易于阅读和维护。

代码实现

import requests

# 设置API密钥和请求参数
url = "https://api.weatherapi.com/v2/data.json?key=your_api_key"
response = requests.get(url)

# 处理响应数据
if response.status_code == 200:
    data = response.json()
    # 解析天气数据
    weather_data = {
        "temperature": f"{data['data']['main']['temp']}°C",
        "humidity": f"{data['data']['main']['humidity']}%",
        "description": data['data']['main']['description']
    }

    # 将数据动态展示到HTML页面
    html_output = f"""
        <html>
        <head>
            <title>Weather</title>
        </head>
        <body>
            <h1>Current Weather</h1>
            <div>
                <p>Temperature: {weather_data['temperature']}</p>
                <p>Humidity: {weather_data['humidity']}</p>
                <p>Description: {weather_data['description']}</p>
            </div>
        </body>
        </html>
    """
    print(html_output)
else:
    print("Error occurred fetching weather data.")

总结

本项目通过构造正确的URL和API密钥,使用Python的requests库实现网络请求,并将结果动态展示为HTML页面。整个过程需要确保URL格式正确,API密钥无误,并且数据解析和HTML输出的结构清晰。项目要求开发人员独立运行,确保代码的可运行性和可维护性。通过这种方式,可以在1~2小时内完成实现。