2013-05-22 91 views
1

我试图从一个网站分析数据,我可以做到以下几点:解析数据

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 

这是一些作品的例子。但我需要解析临时值,并且windspeed名称ect。我怎样才能做到这一点?

+1

你想做到这一点什么编程语言? –

+0

虽然有这么几行 - 它是蟒蛇:)(编辑标签) – alecxe

+0

编程语言:Python – user2402285

回答

1

这是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'}, 
... 
+0

非常感谢! – user2402285

+0

只有一个问题,如果你有时间....我怎么能说,第3行,存储?我设置了“a =”insted打印我只是得到第一行.... – user2402285

+0

当然,我编辑答案:收集结果到列表中。那是你要的吗? – alecxe