Get title from YouTube videos

前端 未结 17 1930
抹茶落季
抹茶落季 2020-12-07 17:30

I want to extract the Title of YouTube\'s videos. How can I do this?

Thanks.

17条回答
  •  攒了一身酷
    2020-12-07 18:01

    Hello In python3 i founded 2 ways

    1) without API KEY

    import urllib.request
    import json
    import urllib
    import pprint
    
    #change to yours VideoID or change url inparams
    VideoID = "SZj6rAYkYOg" 
    
    params = {"format": "json", "url": "https://www.youtube.com/watch?v=%s" % VideoID}
    url = "https://www.youtube.com/oembed"
    query_string = urllib.parse.urlencode(params)
    url = url + "?" + query_string
    
    with urllib.request.urlopen(url) as response:
        response_text = response.read()
        data = json.loads(response_text.decode())
        pprint.pprint(data)
        print(data['title'])
    

    example results:

    {'author_name': 'Google Developers',
     'author_url': 'https://www.youtube.com/user/GoogleDevelopers',
     'height': 270,
     'html': '',
     'provider_name': 'YouTube',
     'provider_url': 'https://www.youtube.com/',
     'thumbnail_height': 360,
     'thumbnail_url': 'https://i.ytimg.com/vi/SZj6rAYkYOg/hqdefault.jpg',
     'thumbnail_width': 480,
     'title': 'Google I/O 101:  Google APIs: Getting Started Quickly',
     'type': 'video',
     'version': '1.0',
     'width': 480}
    Google I/O 101:  Google APIs: Getting Started Quickly
    

    2) Using Google API - required APIKEY

    import urllib.request
    import json
    import urllib
    import pprint
    
    APIKEY = "YOUR_GOOGLE_APIKEY"
    VideoID = "YOUR_VIDEO_ID"
    
    params = {'id': VideoID, 'key': APIKEY,
              'fields': 'items(id,snippet(channelId,title,categoryId),statistics)',
              'part': 'snippet,statistics'}
    
    url = 'https://www.googleapis.com/youtube/v3/videos'
    
    query_string = urllib.parse.urlencode(params)
    url = url + "?" + query_string
    
    with urllib.request.urlopen(url) as response:
        response_text = response.read()
        data = json.loads(response_text.decode())
        pprint.pprint(data)
        print("TITLE: %s " % data['items'][0]['snippet']['title'])
    

    example results:

    {'items': [{'id': 'SZj6rAYkYOg',
                'snippet': {'categoryId': '28',
                            'channelId': 'UC_x5XG1OV2P6uZZ5FSM9Ttw',
                            'title': 'Google I/O 101:  Google APIs: Getting '
                                     'Started Quickly'},
                'statistics': {'commentCount': '36',
                               'dislikeCount': '20',
                               'favoriteCount': '0',
                               'likeCount': '418',
                               'viewCount': '65783'}}]}
    TITLE: Google I/O 101:  Google APIs: Getting Started Quickly
    

提交回复
热议问题