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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.