Youtube python:获取缩略图

有没有一种简单的方法可以从youtube条目对象gdata.youtube.YouTubeVideoEntry获取默认缩略图?

我尝试了entry.media.thumbnail,但这给了我四个缩略图对象.我能永远相信有四个吗?我可以知道哪些是youtube搜索页面上也会显示的默认缩略图?我怎么能得到那个呢?或者我是否必须改变其他一个?

当我知道我使用的video_id时:

http://i4.ytimg.com/vi/ {{VIDEO_ID}} / default.jpg

所以,获取video_id也会有所帮助.

我是否真的需要解析其中一个网址来获取video_id?他们不直接提供这些信息似乎很奇怪.

解决方法:

这是如何从gdata.youtube.YouTubeVideoEntry对象获取默认缩略图:

import gdata.youtube.service

service = gdata.youtube.service.YouTubeService()
feed_url = 'http://gdata.youtube.com/feeds/api/standardfeeds/most_viewed?v=2'
feed = service.GetYouTubeVideoFeed(feed_url)
entry = feed.entry[0] # pick most viewed video as sample entry

thumbnail = entry.media.thumbnail[0].url
    # will be an URL like: 'http://i.ytimg.com/vi/%(video_id)s/default.jpg'
    # when querying YouTube API version 2 ('?v=2' at the end of feed URL)

你不能相信总有4个缩略图(但几乎总是如此).默认缩略图是缩略图列表中的第一个缩略图.

您还可以使用entry.id.text获取视频网址并从结尾提取实际视频ID,但您不能假设固定模式,例如’http://i4.ytimg.com/vi/%(video_id)s /default.jpg’将为您提供缩略图URL.您应该从视频条目中获取缩略图URL.

编辑:要在缩略图列表中首先获取“default.jpg”缩略图,您应该查询YouTube API的第2版(通过在Feed网址中附加额外的“?v = 2”参数).我更新了示例以明确这一点.

上一篇:java – Youtube API:搜索可在移动设备上播放的视频


下一篇:javascript – 使用JSON从YouTube频道获取视频列表