2
我正在使用python版本2.7。*,我需要獲取youtube播放列表。我不喜歡這樣寫道:如何解析python中的大型XML文件?
import urllib
from xml.dom import minidom
playlist_xml = str(urllib.urlopen('https://gdata.youtube.com/feeds/api/playlists/PLKwibIpsTqDyV6NgiJmO-x0yKfqWjApwp?v=2').read())
playlist = minidom.parse(playlist_xml)
的問題是,我無法分析結果...
Traceback (most recent call last):
File "/Users/Python/parser.py", line 11, in <module>
playlist = minidom.parse(playlist_xml)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/dom/minidom.py", line 1914, in parse
return expatbuilder.parse(file)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/dom/expatbuilder.py", line 922, in parse
fp = open(file, 'rb')
IOError: [Errno 63] File name too long:
有很多方法可以將不可管理的長XML文檔解析爲python中的流,但這不是一個特別大的文檔。解析調用失敗的原因是什麼?你在期待什麼? –
「我無法解析結果」不是對問題的描述性描述。你看過你想分析的XML嗎?它會引發錯誤嗎?如果是這樣,那是什麼?我非常懷疑這與XML的大小有關。 YouTube的API只允許一次返回50個結果(我認爲),所以xml不應該那麼大。 – mgilson
相關的問題的標題:[Python的運行內存解析使用XML cElementTree.iterparse](http://stackoverflow.com/q/7697710/4279) – jfs