2013-05-22 90 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