如何获取YouTube频道最新上传视频的ID

1 投票
1 回答
2530 浏览
提问于 2025-04-17 08:23

我怎么用Python获取某个特定YouTube频道最新上传视频的ID呢?

1 个回答

2

你可以请求一些JSON数据并进行解析。下面的代码会给你返回第一个(最新的)结果,并把它存储在first这个变量里。

import urllib, json

author = 'Google'
inp = urllib.urlopen(r'http://gdata.youtube.com/feeds/api/videos?max-results=1&alt=json&orderby=published&author=' + author)
resp = json.load(inp)
inp.close()

first = resp['feed']['entry'][0]

# Title of the video
print first['title']

# URL
print first['link'][0]['href']

我刚在一个交互式的Python环境中查看了这个JSON对象。你可以自己构建查询,或者使用我发的那个。记得要更改作者的信息。这是一种比较底层的方法,而@Frederik提到了一种更高层次的做法。

这个first对象看起来是这样的。

{
    "author": [
        {
            "name": {
                "$t": "Google"
            }, 
            "uri": {
                "$t": "http://gdata.youtube.com/feeds/api/users/google"
            }
        }
    ], 
    "category": [
        {
            "scheme": "http://schemas.google.com/g/2005#kind", 
            "term": "http://gdata.youtube.com/schemas/2007#video"
        }, 
        {
            "label": "Science & Technology", 
            "scheme": "http://gdata.youtube.com/schemas/2007/categories.cat", 
            "term": "Tech"
        }, 
        {
            "scheme": "http://gdata.youtube.com/schemas/2007/keywords.cat", 
            "term": "Google Currents"
        }, 
        {
            "scheme": "http://gdata.youtube.com/schemas/2007/keywords.cat", 
            "term": "Google"
        }, 
        {
            "scheme": "http://gdata.youtube.com/schemas/2007/keywords.cat", 
            "term": "Currents"
        }, 
        {
            "scheme": "http://gdata.youtube.com/schemas/2007/keywords.cat", 
            "term": "Magazine App"
        }, 
        {
            "scheme": "http://gdata.youtube.com/schemas/2007/keywords.cat", 
            "term": "Reader App"
        }, 
        {
            "scheme": "http://gdata.youtube.com/schemas/2007/keywords.cat", 
            "term": "Android"
        }, 
        {
            "scheme": "http://gdata.youtube.com/schemas/2007/keywords.cat", 
            "term": "ios"
        }, 
        {
            "scheme": "http://gdata.youtube.com/schemas/2007/keywords.cat", 
            "term": "Android phone"
        }, 
        {
            "scheme": "http://gdata.youtube.com/schemas/2007/keywords.cat", 
            "term": "Android tablet"
        }, 
        {
            "scheme": "http://gdata.youtube.com/schemas/2007/keywords.cat", 
            "term": "iphone"
        }, 
        {
            "scheme": "http://gdata.youtube.com/schemas/2007/keywords.cat", 
            "term": "ipad"
        }
    ], 
    "content": {
        "$t": "Google Currents is a new mobile app that lets you enjoy free online magazines and other content optimized for your Android or Apple phones and tablets. Learn more at www.google.com", 
        "type": "text"
    }, 
    "gd$comments": {
        "gd$feedLink": {
            "countHint": 463, 
            "href": "http://gdata.youtube.com/feeds/api/videos/5LOcUkm8m9w/comments"
        }
    }, 
    "gd$rating": {
        "average": 4.7557077, 
        "max": 5, 
        "min": 1, 
        "numRaters": 1752, 
        "rel": "http://schemas.google.com/g/2005#overall"
    }, 
    "id": {
        "$t": "http://gdata.youtube.com/feeds/api/videos/5LOcUkm8m9w"
    }, 
    "link": [
        {
            "href": "http://www.youtube.com/watch?v=5LOcUkm8m9w&feature=youtube_gdata", 
            "rel": "alternate", 
            "type": "text/html"
        }, 
        {
            "href": "http://gdata.youtube.com/feeds/api/videos/5LOcUkm8m9w/responses", 
            "rel": "http://gdata.youtube.com/schemas/2007#video.responses", 
            "type": "application/atom+xml"
        }, 
        {
            "href": "http://gdata.youtube.com/feeds/api/videos/5LOcUkm8m9w/related", 
            "rel": "http://gdata.youtube.com/schemas/2007#video.related", 
            "type": "application/atom+xml"
        }, 
        {
            "href": "http://m.youtube.com/details?v=5LOcUkm8m9w", 
            "rel": "http://gdata.youtube.com/schemas/2007#mobile", 
            "type": "text/html"
        }, 
        {
            "href": "http://gdata.youtube.com/feeds/api/videos/5LOcUkm8m9w", 
            "rel": "self", 
            "type": "application/atom+xml"
        }
    ], 
    "media$group": {
        "media$category": [
            {
                "$t": "Tech", 
                "label": "Science & Technology", 
                "scheme": "http://gdata.youtube.com/schemas/2007/categories.cat"
            }
        ], 
        "media$content": [
            {
                "duration": 94, 
                "expression": "full", 
                "isDefault": "true", 
                "medium": "video", 
                "type": "application/x-shockwave-flash", 
                "url": "http://www.youtube.com/v/5LOcUkm8m9w?version=3&f=videos&app=youtube_gdata", 
                "yt$format": 5
            }, 
            {
                "duration": 94, 
                "expression": "full", 
                "medium": "video", 
                "type": "video/3gpp", 
                "url": "rtsp://v1.cache8.c.youtube.com/CiILENy73wIaGQncm7xJUpyz5BMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp", 
                "yt$format": 1
            }, 
            {
                "duration": 94, 
                "expression": "full", 
                "medium": "video", 
                "type": "video/3gpp", 
                "url": "rtsp://v5.cache4.c.youtube.com/CiILENy73wIaGQncm7xJUpyz5BMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp", 
                "yt$format": 6
            }
        ], 
        "media$description": {
            "$t": "Google Currents is a new mobile app that lets you enjoy free online magazines and other content optimized for your Android or Apple phones and tablets. Learn more at www.google.com", 
            "type": "plain"
        }, 
        "media$keywords": {
            "$t": "Google Currents, Google, Currents, Magazine App, Reader App, Android, ios, Android phone, Android tablet, iphone, ipad"
        }, 
        "media$player": [
            {
                "url": "http://www.youtube.com/watch?v=5LOcUkm8m9w&feature=youtube_gdata_player"
            }
        ], 
        "media$thumbnail": [
            {
                "height": 360, 
                "time": "00:00:47", 
                "url": "http://i.ytimg.com/vi/5LOcUkm8m9w/0.jpg", 
                "width": 480
            }, 
            {
                "height": 90, 
                "time": "00:00:23.500", 
                "url": "http://i.ytimg.com/vi/5LOcUkm8m9w/1.jpg", 
                "width": 120
            }, 
            {
                "height": 90, 
                "time": "00:00:47", 
                "url": "http://i.ytimg.com/vi/5LOcUkm8m9w/2.jpg", 
                "width": 120
            }, 
            {
                "height": 90, 
                "time": "00:01:10.500", 
                "url": "http://i.ytimg.com/vi/5LOcUkm8m9w/3.jpg", 
                "width": 120
            }
        ], 
        "media$title": {
            "$t": "Introducing Google Currents", 
            "type": "plain"
        }, 
        "yt$duration": {
            "seconds": "94"
        }
    }, 
    "published": {
        "$t": "2011-12-08T09:10:07.000Z"
    }, 
    "title": {
        "$t": "Introducing Google Currents", 
        "type": "text"
    }, 
    "updated": {
        "$t": "2011-12-14T12:57:53.000Z"
    }, 
    "yt$hd": {}, 
    "yt$statistics": {
        "favoriteCount": "312", 
        "viewCount": "420050"
    }
}

撰写回答