0

如何获得 youtube 中观看次数最多的网址?这是我正在使用的链接,“ http://gdata.youtube.com/feeds/api/videos?q=gangnam%20style

它返回 xml 数据,我将如何获得其中的某些元素?我可以使用他们的任何模块来返回 gdata 链接以转到观看次数最多的视频吗?任何帮助将不胜感激,谢谢。我的问题是我不知道如何获得某些元素,这就是为什么我要提前询问并感谢您。

编辑:谢谢大家在大约一个小时后在谷歌上回答我找到了一个很好的方法,但我很欣赏你们所有的建议,但在几个小时内我可以回答我自己的问题时,我会发布它

4

3 回答 3

1

使用lxml.

例如,以下代码打印标题、查看次数:

import lxml.etree
tree = lxml.etree.parse('http://gdata.youtube.com/feeds/api/videos?q=gangnam%20style')
root = tree.getroot()
nsmap = root.nsmap
nsmap['xmlns'] = nsmap.pop(None)
for entry in root.findall('.//xmlns:entry', namespaces=nsmap):
    title = entry.find('xmlns:title', namespaces=nsmap).text
    view_count = entry.find('yt:statistics', namespaces=nsmap).get('viewCount')
    print(u'{}  {}'.format(title, view_count))
于 2013-10-06T17:57:23.223 回答
0

Python 包含几个 xml 解析器。查看 python 标准库文档。如果您使用的是这里的 python2:http: //docs.python.org/2/library/xml.html

各种解析器的复杂性不同,因此请尝试每种解析器,找到适合您口味的解析器。对于简单的 xml 结构,我更喜欢 elementtree。请参阅此处的教程:http: //docs.python.org/2/library/xml.etree.elementtree.html#tutorial

于 2013-10-06T17:53:47.983 回答
0

You will want to look at libraries that parse XML for you to retrieve the node you want.

Take a look at

http://docs.python.org/2/library/xml.etree.elementtree.html

It starts off with a good example on how to do this. (country_data.xml)

于 2013-10-06T17:50:42.423 回答