Python 解析网站(.xml)中的数据

Python 解析网站(.xml)中的数据,python,xml,parsing,xml-parsing,Python,Xml,Parsing,Xml Parsing,我正在尝试解析来自网站的数据,我可以执行以下操作: import xml.etree.ElementTree as ET from urllib import urlopen link = urlopen('http://www.yr.no/place/Norway/Sør-Trøndelag/Trondheim/Trondheim/varsel.xml') tree = ET.parse(link) root = tree.getroot() data = root.findall('me

我正在尝试解析来自网站的数据,我可以执行以下操作:

import xml.etree.ElementTree as ET
from urllib import urlopen

link = urlopen('http://www.yr.no/place/Norway/Sør-Trøndelag/Trondheim/Trondheim/varsel.xml')
tree = ET.parse(link)
root = tree.getroot()

data = root.findall('meta')
for metar in data:
    print metar.find('lastupdate').text

这是一个有效的例子。但是我需要解析temp值和
windspeed
name
ect
。我该怎么做?

这是xpath的工作:

# -*- coding: utf-8 -*-

import xml.etree.ElementTree as ET
from urllib import urlopen

link = urlopen('http://www.yr.no/place/Norway/Sør-Trøndelag/Trondheim/Trondheim/varsel.xml')
tree = ET.parse(link)
root = tree.getroot()

data = root.findall('.//windSpeed')
results = [item.attrib for item in data]
print results
印刷品:

[{'mps': '2.4', 'name': 'Light breeze'},
 {'mps': '2.4', 'name': 'Light breeze'},
 {'mps': '1.9', 'name': 'Light breeze'},
 {'mps': '0.5', 'name': 'Light air'},
 {'mps': '3.6', 'name': 'Gentle breeze'},
...

这是xpath的作业:

# -*- coding: utf-8 -*-

import xml.etree.ElementTree as ET
from urllib import urlopen

link = urlopen('http://www.yr.no/place/Norway/Sør-Trøndelag/Trondheim/Trondheim/varsel.xml')
tree = ET.parse(link)
root = tree.getroot()

data = root.findall('.//windSpeed')
results = [item.attrib for item in data]
print results
印刷品:

[{'mps': '2.4', 'name': 'Light breeze'},
 {'mps': '2.4', 'name': 'Light breeze'},
 {'mps': '1.9', 'name': 'Light breeze'},
 {'mps': '0.5', 'name': 'Light air'},
 {'mps': '3.6', 'name': 'Gentle breeze'},
...

你想用哪种编程语言来做这件事?虽然行数太少,但它是python:)(编辑的标记)编程语言:python你可以使用Xpath,这是一种类似yourdoc.Xpath(“//windspeed/text()”)的语言。你想用哪种编程语言来做这件事?虽然行数太少,但它是python:)(编辑的标记)编程语言:python您可以使用Xpath,这是一个类似于yourdoc.Xpath(“//windspeed/text()”)的示例。如果您有时间,请再问一个问题。。。。比如说,第3行,我怎样才能得到存储?当我设置“a=”而不是打印时,我只得到第一行……当然,我已经编辑了答案:将结果收集到列表中。这就是你想要的吗?如果你有时间,再问一个问题。。。。比如说,第3行,我怎样才能得到存储?当我设置“a=”而不是打印时,我只得到第一行……当然,我已经编辑了答案:将结果收集到列表中。这就是你想要的吗?