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, aprenderemos cómo extraer información de imagen de un video individual de la lista de reproducción de YouTube usando Python.
Información de la imagen que buscaremos:
- URL de la imagen
- Ancho y alto de la imagen
- Diferentes tamaños de imágenes
En YouTube Video, hay cinco miniaturas diferentes que son:
- defecto
- alto
- maxres
- medio
- estándar
Acercarse:
- Usaremos el método de compilación , lista y ejecución , que dará los detalles de la lista de reproducción.
- Dentro del método de lista, pase contentDetails en la propiedad de parte y en la propiedad playlistId pase PlaylistID o PlaylistURL
- Pase el valor 50 en maxResults y en pageToken inicialmente pase Ninguno Valor
Python3
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.get(), maxResults=50, pageToken=nextPageToken ) pl_response = pl_request.execute() nextPageToken = pl_response.get('nextPageToken') if not nextPageToken: break
- Iterar a través de todas las respuestas y obtener información de la imagen
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 fetch Image Information for item in pl_response['items']: thumbnails = item['snippet']['thumbnails'] if 'default' in thumbnails: default = thumbnails['default'] print(default) if 'high' in thumbnails: high = thumbnails['high'] print(high) if 'maxres' in thumbnails: maxres = thumbnails['maxres'] print(maxres) if 'medium' in thumbnails: medium = thumbnails['medium'] print(medium) if 'standard' in thumbnails: standard = thumbnails['standard'] print(standard) print("\n") nextPageToken = pl_response.get('nextPageToken') if not nextPageToken: break playlist_video_links('PLsyeobzWxl7r2ukVgTqIQcl-1T0C2mzau')
Producción: