有没有一种简单的方法可以从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”参数).我更新了示例以明确这一点.