我在使用Minidom解析Youtube XML文件时遇到了一些麻烦。该文件的内容可在此link找到。我将其保存在名为“ytxml.xml
”的文件中。
我遇到的问题是我无法从此文件中获取所需的所有信息。
此时,我正在尝试从代码中获取第一个“href
”属性(其中“href
”对应于视频文件的YouTube链接)。到目前为止,我已经获得了用户实例,视频标题,用户名和视频说明,但我无法获得这些“href
”链接。
哪里出错了?我找了一个类似的问题,但我没有找到任何有用的东西。到目前为止,这是我的代码:
from xml.dom import minidom
doc = minidom.parse("ytxml.xml")
def getNodeText(node):
nodelist = node.childNodes
result = []
for node in nodelist:
if node.nodeType == node.TEXT_NODE:
result.append(node.data)
return ' '.join(result)
tag_one = doc.getElementsByTagName("entry")
tag_two = doc.getElementsByTagName("media:player")
for tag in tag_one:
media_title = tag.getAttribute("media:title")
media_title_data = tag.getElementsByTagName("media:title")[0]
print getNodeText(media_title_data)
media_desc = tag.getAttribute("media:description")
media_desc_data = tag.getElementsByTagName("media:description")[0]
print getNodeText(media_desc_data)
author = tag.getAttribute("name")
author_data = tag.getElementsByTagName("name")[0]
print getNodeText(author_data)
user_instance = tag.getAttribute("uri")
user_instance_data = tag.getElementsByTagName("uri")[0]
print getNodeText(user_instance_data)
for tag in tag_two:
media_player_data = tag.getAttribute("href")
print media_player_data
感谢您的帮助!
答案 0 :(得分:0)
最后一个for循环返回空格,因为它返回NoneTypes。事实证明,我需要的数据位于content
标记下src
。另外......我建议不要使用Minidom。 BeautifulSoup好多了!