【发布时间】:2013-12-07 22:37:57
【问题描述】:
我使用的是 python 版本 2.7.*,我需要获取 youtube 播放列表。我是这样做的:
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 不应该那么大。
标签: python xml parsing python-2.7