Requisito previo: API de YouTube
Google proporciona un gran conjunto de API para que el desarrollador elija. Todos y cada uno de los servicios proporcionados por Google tienen una API asociada. Siendo uno de ellos, la API de datos de YouTube es muy fácil de usar y ofrece funciones como:
- buscar videos
- Manejar videos como recuperar información sobre un video, insertar un video, eliminar un video, etc.
- Manejar suscripciones como listas de todas las suscripciones, insertar o eliminar una suscripción.
- Recupere información sobre comentarios como respuestas a un comentario específico identificado por un parentId, etc.
En este artículo, vamos a realizar varias operaciones de YouTube en Python utilizando la API de YouTube.
Obtener información del canal de YouTube
En esta sección, escribiremos un script de Python que extraerá la información del canal de YouTube usando python.
Información del canal:
- Suscriptores totales
- Número total de vídeos
- Vistas totales
Acercarse:
- Aquí usaremos los métodos build() , channels() , list() , execute() que darán los detalles del canal de YouTube.
- Dentro del método de lista, pase las estadísticas en la propiedad de la parte y en la propiedad de identificación , pase el channelId del canal de YouTube.
A continuación se muestra la implementación:
Python3
# Import Module from googleapiclient.discovery import build # Create YouTube Object youtube = build('youtube', 'v3', developerKey='Enter API key') ch_request = youtube.channels().list( part='statistics', id='Enter Channel ID') # Channel Information ch_response = ch_request.execute() sub = ch_response['items'][0]['statistics']['subscriberCount'] vid = ch_response['items'][0]['statistics']['videoCount'] views = ch_response['items'][0]['statistics']['viewCount'] print("Total Subscriber:- ", sub) print("Total Number of Videos:- ", vid) print("Total Views:- ", views)
Producción:
Obtenga la descripción del video individual de la lista de reproducción de YouTube
En esta sección, aprenderemos cómo obtener descripciones de los videos individuales de la lista de reproducción de YouTube usando Python.
Acercarse:
- Usaremos el método de compilación , lista y ejecución , que dará detalles de la lista de reproducción.
- Dentro del método de lista, pase el fragmento en la propiedad de la parte y en la propiedad playlistId pase PlaylistID o PlaylistURL .
- Pase 50 valores en maxResults y en pageToken inicialmente pase Ninguno Valor.
A continuación se muestra la implementación:
Python3
# Import Module from googleapiclient.discovery import build def playlist_video_links(playlistId): nextPageToken = None # Creating youtube resource object youtube = build('youtube', 'v3', developerKey='Enter API Key') while True: # Retrieve youtube video results pl_request = youtube.playlistItems().list( part='snippet', playlistId=playlistId, maxResults=50, pageToken=nextPageToken ) pl_response = pl_request.execute() # Iterate through all response and get video description for item in pl_response['items']: description = item['snippet']['description'] print(description) print("\n") nextPageToken = pl_response.get('nextPageToken') if not nextPageToken: break playlist_video_links('Enter Playlist ID')
Producción:
Contar el número de listas de reproducción del canal de YouTube
En esta sección, escribiremos un script de Python que contará el número de una lista de reproducción de canales de YouTube utilizando la API de YouTube.
Acercarse:
- Aquí usaremos los métodos build() , playlists() , list() , execute() que darán los detalles del canal de YouTube.
- Dentro del método list , pase contentDetails y snippet en la propiedad part y en la propiedad channelId pase channelId .
A continuación se muestra la implementación:
Python3
# Import Module from googleapiclient.discovery import build # Create YouTube Object youtube = build('youtube', 'v3', developerKey='Enter API key') # Get video count def Channel_Depth_details(channel_id): pl_request = youtube.playlists().list( part='contentDetails,snippet', channelId='channel_id', maxResults=50 ) pl_response = pl_request.execute() return len(pl_response['items']) print(Channel_Depth_details("Channel ID"))
Producción: