Python 3 Youtube Data API Script to Get Latest or Newest Videos URL & Title From Channel Full Project For Beginners

 

 

youtube_get_newest_video_from_channel

Small Python script to get the latest video from a specific Youtube channel and returns it’s title and url

Build Status

Hint:

Nowadays the channel url doesn’t always show the channel id, but sometimes the channel name. However the script needs the channel id. You can get the id from here when you only have the channel name: https://commentpicker.com/youtube-channel-id.php A channel id looks like this UCmpilcSVu1T-AsAiiHbfpcA

Requires python module ‘requests‘ to work.

Usage example

from GetLatestVideo import API

# Add your Youtube Data API V3 Key here
API_KEY = ''

# Add the Channel ID(s) here,
# When you only know the channel name you can get the ID from here https://commentpicker.com/youtube-channel-id.php
CHANNEL_ID = [
    'ID1',
    'ID2'
]

videos = []

yt = API(API_KEY)

for channel in CHANNEL_ID:
    videos.append(yt.get_latest_video(channel))

print(videos)

 

 

import requests


class API:
    def __init__(self, youtube_api_key):
        self.api_key = youtube_api_key

    def get_video_items(self, channel_id):
        try:
            request = 'https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=' + \
                      channel_id + '&maxResults=10&order=date&type=video&key=' + \
                      self.api_key

            return requests.get(request).json()

        except Exception as error:
            print(error)

    @staticmethod
    def get_newest_video(items_json):
        return items_json['items'][0]

    @staticmethod
    def get_url(video_json):
        return video_json['id']['videoId']

    @staticmethod
    def get_title(video_json):
        return video_json['snippet']['title']

    def get_latest_video(self, channel_id):
        video_items_json = self.get_video_items(channel_id)
        new_video_json = self.get_newest_video(video_items_json)

        video_url_snippet = self.get_url(new_video_json)
        video_url = 'https://www.youtube.com/watch?v=' + video_url_snippet

        video_title = self.get_title(new_video_json)

        return video_title, video_url

 

 

DOWNLOAD FULL SOURCE CODE

 

 

Leave a Reply