これは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
で動画URLを取得し、実際の動画IDを末尾から抽出することもできますが、'http://i4.ytimg.com/vi/%(video_id)s/default.jpg'
などの固定パターンでサムネイルURLが得られるとは限りません。動画エントリからサムネイルURLを取得する必要があります。
EDIT:は、サムネイルのリストの最初に「default.jpg」サムネイルを取得するには、(「?V = 2」フィードURLに追加のパラメータを追加することで)YouTubeのAPIのバージョン2を問い合わせる必要があります。これを明確にするために例を更新しました。
thumnail_url = "http://img.youtube.com/vi/%s/0.jpg" % video_id
をそれとも、テンプレートフィルタを作成することができます:
おかげで、私はこれが正しいとは思わない:ユーチューブ検索で 用「笑ったり笑ったりしないで見守ってみろ!笑! 2匹の猫に2匹の猫を示しています。 これは同じです: http://i4.ytimg.com/vi/I_6UTGzgOnU/default.jpg が、それはある最初のサムネイルと同じではありません。 ます。http:// I .ytimg.com/vi/I_6UTGzgOnU/2.jpg – dkgirl
ああ、私はバージョンについて見ています。残念ながら、URL(またはバージョン)はまったく指定しないでください。私はユーチューブのPythonのAPIを使用します。 yt_service = gdata.youtube.service.YouTubeService() クエリ= gdata.youtube.service.YouTubeVideoQuery() 。 ...クエリと他のクエリパラメータに検索用語を追加します。 。 フィード= yt_service.YouTubeQuery(クエリ) 私はどのバージョンを使用するよう指示する方法が表示されません。あなたは知っていますか? – dkgirl
バージョンパラメータ「v = 2」を含めて新しいAPIに準拠させるには、現在の 'query.ToUri()'をhttp://code.google.com/intl/enに従って移行する必要があります/apis/youtube/2.0/migration.html(残念ながら、そのドキュメントに記載されているように、Python YouTube APIクライアントはまだバージョン2に更新されていません)。次に、結果のXMLを 'xml = service.Query(uri).ToString()'で取得します。最後に、 'feed = gdata.youtube.YouTubeVideoFeedFromString(xml)'でフィードを取得します。残りはあなたが知っている。 PS:YouTubeに問い合わせる最新のPythonクライアントを持っていないのは本当にすごいです! :P – scoffey