Sobre el proyecto

La API de transcripciones de YouTube es una biblioteca de Python para obtener transcripciones y subtítulos de videos de YouTube. A diferencia de las soluciones basadas en Selenium, no requiere un navegador headless, lo que la hace ligera y fácil de desplegar. Funciona tanto con subtítulos creados manualmente como generados automáticamente. La instalación es sencilla mediante pip: `pip install youtube-transcript-api`. La API principal proporciona una clase `YouTubeTranscriptApi` con un método `fetch()` que acepta un ID de video de YouTube (no la URL completa). Devuelve un objeto `FetchedTranscript` que contiene un arreglo de fragmentos, cada uno con texto, tiempo de inicio y duración. El resultado es iterable, indexable y tiene longitud. Las características principales incluyen: - Obtener transcripciones en idiomas específicos pasando un parámetro `languages` como lista de códigos de idioma (por ejemplo, `['de', 'en']`). - Preservar el formato HTML como cursivas y negritas con `preserve_formatting=True`. - Listar todas las transcripciones disponibles para un video mediante `list()`, luego filtrar por idioma o tipo de transcripción (creada manualmente vs. generada automáticamente). - Traducir transcripciones existentes a otros idiomas usando el método `translate()` en un objeto `Transcript`. - Formatear la salida en JSON, SRT, WebVTT, CSV o texto plano mediante formateadores integrados en el submódulo `formatters`. - Una herramienta de línea de comandos (`youtube_transcript_api`) para uso desde terminal con opciones para idiomas, formato de salida, traducción y exclusión de subtítulos generados o creados manualmente. - Soporte de proxy para evitar bloqueos de IP de proveedores en la nube o por alto volumen de solicitudes, con proxies residenciales rotativos de Webshare integrados o configuración genérica de proxy HTTP/SOCKS. El proyecto utiliza una parte no documentada de la API del cliente web de YouTube y cuenta con una advertencia de que puede dejar de funcionar si YouTube cambia su implementación interna. Está licenciado bajo MIT y está disponible en PyPI.