2017-05-08 55 views
1

我有一個艱難的時間解析App Store的XML拉出來一個AppID評級(S)(AP​​PID爲298307011)解析iPhone App Store的RSS XML

XML:https://itunes.apple.com/us/rss/customerreviews/id=298307011/xml

該評級我我試圖爲每個應用程序審查條目拉出來。樹結構是root> entry - > im:rating

我的代碼沒有獲取評級文本。

import urllib2 
import xml.etree.ElementTree as ET 
url = 'https://itunes.apple.com/us/rss/customerreviews/id=298307011/xml' 

xml_string = urllib2.urlopen(url).read() 
root = ET.fromstring(xml_string) 


for rating in root.iter('im:rating'): 
    print rating.text 

回答

0

看起來你需要添加命名空間和使用的東西,除了iter

使用lmxl和XPath:

import urllib2 
import lxml.etree as etree 
url = 'https://itunes.apple.com/us/rss/customerreviews/id=298307011/xml' 

xml_string = urllib2.urlopen(url).read() 
root = etree.fromstring(xml_string) 


for rating in root.xpath('//im:rating', namespaces={'im':'http://itunes.apple.com/rss'}): 
    print rating.text 
+0

它的工作。 lxml對我來說是新的,它看起來像一個知道的強大工具。謝謝。 –

+0

@JoGeo酷!請[upvote](http://stackoverflow.com/help/privileges/vote-up)並接受答案,如果你發現它有用:) – salparadise