Hola, hoy vamos a aprender a obtener los subtítulos de un vídeo de Youtube utilizando una librería para Python.
Lo primero que vamos a hacer es instalar la librería:
pip install youtube-transcript-api
Esta librería podéis encontrarla aquí: https://pypi.org/project/youtube-transcript-api/
Para utilizarla y obtener los subtítulos de un video, tendremos que hacer lo siguiente:
Importamos las siguientes dependencias:
from youtube_transcript_api import YouTubeTranscriptApi import json
Y vamos a crear una función que recibirá un código de vídeo e idioma y generará su transcripción:
def getSubtitles(videoId, language): strText = "" try: srt = YouTubeTranscriptApi.get_transcript(videoId, languages=[language]) #Pasar a JSON: json.dumps(srt) for i in srt: strText += i['text'] strText += " " except: strText = "-1" return strText
En mi ejemplo, le paso el idioma del vídeo y el código del video.
*Se puede saber qué idiomas tiene disponibles con este código:
transcript_list = YouTubeTranscriptApi.list_transcripts(video_id)
Aunque si el idioma no es el correcto, por defecto se devolverá en inglés.
Finalmente, el código completo queda asi:
from youtube_transcript_api import YouTubeTranscriptApi import json def getSubtitles(videoId, language): strText = "" try: srt = YouTubeTranscriptApi.get_transcript(videoId,languages=[language]) #Pasar a JSON: json.dumps(srt) for i in srt: strText += i['text'] strText += " " except: strText = "-1" return strText
Ingeniero en Informática, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.