【问题标题】:How do I parse youtube xml for a specific entry?如何解析特定条目的 youtube xml?
【发布时间】:2012-11-10 04:25:22
【问题描述】:

我正在尝试返回视频的时长,但遇到了问题。

#YOUTUBE FEED
#download the file:
file = urllib2.urlopen('http://gdata.youtube.com/feeds/api/videos/2s0vk2wEMtA')
#convert to string:
data = file.read()
#close file because we dont need it anymore:
file.close()

#entire feed
root = etree.fromstring(data)

for entry in root:
    for item in entry:
        print item

当我打印项目时,我看到的是最后一个元素:

Element '{http://gdata.youtube.com/schemas/2007}duration' at 0x10c4fb7d0

但我不知道如何从中获得价值。有什么建议吗?

【问题讨论】:

    标签: python xml parsing youtube


    【解决方案1】:

    media = root.find('{http://search.yahoo.com/mrss/}group') 长度 = media.find('{http://gdata.youtube.com/schemas/2007}duration').attrib.get("秒") 打印长度

    【讨论】:

    • 请注意,使用 json 返回数据更简单、更清晰。例如,看看这个 url,你会发现提取持续时间是多么容易。我知道大块代码在 cmets 中看起来很难看,但您可以使用:import json import urllib2 urlfile = urllib2.urlopen('http://gdata.youtube.com/feeds/api/videos/2s0vk2wEMtA?v=2&alt=jsonc') jsonString = urlfile.read() urlfile.close() jsonData = json.loads(jsonString) print jsonData["data"]["duration"]
    猜你喜欢
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-15
    • 1970-01-01
    • 2017-12-29
    • 2020-10-16
    相关资源
    最近更新 更多