Об этом проекте

YouTube Transcript API — это библиотека на Python для получения расшифровок и субтитров видео YouTube. В отличие от решений на основе Selenium, она не требует использования безголового браузера, что делает её лёгкой и простой в развёртывании. Она работает как с субтитрами, созданными вручную, так и с автоматически сгенерированными. Установка выполняется просто через pip: `pip install youtube-transcript-api`. Основной API предоставляет класс `YouTubeTranscriptApi` с методом `fetch()`, который принимает идентификатор видео YouTube (не полную ссылку). Он возвращает объект `FetchedTranscript`, содержащий массив фрагментов, каждый из которых имеет текст, время начала и длительность. Результат является итерируемым, индексируемым и имеет длину. Ключевые возможности: - Получение расшифровок на определённых языках путём передачи параметра `languages` в виде списка кодов языков (например, `['de', 'en']`). - Сохранение HTML-форматирования, такого как курсив и жирный шрифт, с параметром `preserve_formatting=True`. - Получение списка всех доступных расшифровок для видео с помощью метода `list()`, с последующей фильтрацией по языку или типу расшифровки (созданная вручную или автоматически сгенерированная). - Перевод существующих расшифровок на другие языки с помощью метода `translate()` объекта `Transcript`. - Форматирование вывода в JSON, SRT, WebVTT, CSV или обычный текст с помощью встроенных форматтеров из подмодуля `formatters`. - Инструмент CLI (`youtube_transcript_api`) для использования из командной строки с опциями выбора языка, формата вывода, перевода, а также исключения сгенерированных или созданных вручную субтитров. - Поддержка прокси для обхода блокировок по IP со стороны облачных провайдеров или при большом объёме запросов, с интегрированными вращающимися резидентными прокси Webshare или возможностью настройки обычных HTTP/SOCKS прокси. Проект использует недокументированную часть веб-клиентского API YouTube и содержит предупреждение, что он может перестать работать, если YouTube изменит свою внутреннюю реализацию. Он распространяется под лицензией MIT и доступен на PyPI.