You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python抓取XML气象数据遇阻,求指导获取指定城市温湿压

解决方案

示例代码

import xml.etree.ElementTree as ET
import requests

# 手动指定目标城市
target_city = "Zagreb"  # 替换为你需要查询的城市名称

# 获取并解析XML数据源
response = requests.get("https://vrijeme.hr/hrvatska_n.xml")
response.encoding = "utf-8"
root = ET.fromstring(response.text)

# 遍历匹配目标城市并提取数据
for city_node in root.findall(".//Grad"):
    current_city = city_node.find("Ime").text
    if current_city == target_city:
        data_node = city_node.find("Podatci")
        temperature = data_node.find("Temp").text
        humidity = data_node.find("Vlaga").text
        pressure = data_node.find("Tlak").text
        # 按指定格式输出
        print(f"城市名称:{current_city};气温:{temperature};气压:{pressure};湿度:{humidity}")
        break
else:
    print(f"未找到城市「{target_city}」的气象数据")

代码说明

  • 使用xml.etree.ElementTree(Python内置XML解析库)定位节点,通过XPath表达式.//Grad遍历所有城市条目
  • 匹配目标城市名称时,需与XML中<Ime>标签的文本完全一致(注意大小写)
  • 从<Podatci>子节点中直接提取所需的气温、湿度、气压字段,避免冗余内容输出
  • 若无需requests库,可替换为内置urllib模块获取数据:
from urllib.request import urlopen

response = urlopen("https://vrijeme.hr/hrvatska_n.xml")
root = ET.fromstring(response.read().decode("utf-8"))

内容的提问来源于stack exchange,提问作者geni0us

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 15:53:13