Библиотеки Python | Загрузка видео и субтитров с YouTube
Последнее обновление: 16.11.2022
Для работы с youtube установим через менеджер пакетов pip пакет pytube с помощью следующей команды:
pip install pytube
Загрузка видео с youtube
Для обращения к определенному видео на youtube необходимо создать объекта YouTube, в конструктор которого передается ссылка на видео:
from pytube import YouTube # ссылка на загружаемое видео link = "https://www.youtube.com/watch?v=J0Aq44Pze-w" yt = YouTube(link)
С помощью атрибута streams можно получить все стримы, связанные с этим видео (в том числе отдельно его аудиодорожки), и их параметры:
from pytube import YouTube # ссылка на загружаемое видео link = "https://www.youtube.com/watch?v=J0Aq44Pze-w" yt = YouTube(link) print(yt.streams)
Примерный вывод:
[<Stream: itag="17" mime_type="video/3gpp" res="144p" fps="12fps" vcodec="mp4v. 20.3" acodec="mp4a.40.2" progressive="True" type="video">, <Stream: itag="18" mime_type="video/mp4" res="360p" fps="24fps" vcodec="avc1.42001E" acodec="mp4a.40.2" progressive="True" type="video">, <Stream: itag="22" mime_type="video/mp4" res="720p" fps="24fps" vcodec="avc1.64001F" acodec="mp4a.40.2" progressive="True" type="video">, ................................. <Stream: itag="251" mime_type="audio/webm" abr="160kbps" acodec="opus" progressive="False" type="audio">]
Для загрузки видео нам надо выбрать конкретный стрим из полученного списка и вызвать у него метод download(). Например, выберем и загрузим первый стрим:
from pytube import YouTube link = "https://www.youtube.com/watch?v=J0Aq44Pze-w" yt = YouTube(link) yt.streams.first().download() print("Видео успешно загружено")
При этом мы можем загрузить разные варианты видео. Для выбора видео в наилучшем расширении библиотека предоставляет специальный метод get_highest_resolution():
YouTube("https://www. youtube.com/watch?v=J0Aq44Pze-w").streams.get_highest_resolution().download()
Загрузка субтитров
Для получения информации о субтитрах класс YouTube предоставляет атрибут captions, который предоставляет словарь объектов Caption, фактически список доступных субтитров:
from pytube import YouTube link = "https://www.youtube.com/watch?v=bDo18m-uOi8" yt = YouTube(link) print(yt.captions)
В данном случае мы получим информацию о субтитрах в следующем виде:
{'en': <Caption lang="English" code="en">, 'a.en': <Caption lang="English (auto-generated)" code="a.en">, 'pt-BR': <Caption lang="Portuguese (Brazil)" code="pt-BR">, 'ru': <Caption lang="Russian" code="ru">, 'es-MX': <Caption lang="Spanish (Mexico)" code="es-MX">}
В полученном словаре ключ представляет языковую культуру, например, «pt-BR» (бразильский португальский) или «en» (общий английский). Для автосгенерированных субтитров код языка предваряется символом «a», например, «a.en». Значение ключа дублируется в атрибуте «code» объекта Caption.
Для загрузки субтитров применяется у Caption применяется метод download(), например, загрузим субтитры для английского языка:
from pytube import YouTube yt = YouTube("https://www.youtube.com/watch?v=bDo18m-uOi8") yt.captions["en"].download(title="Python", srt=False) print("Субтитры загружены")
В метод download()
передаются два параметра. Параметр title
представляет название файла, в который будут сохраняться субтитры. Второй параметр —
srt
указывает, в каком формате загружать субтитры: если равно True
, то загружаются в формате srt, если False
— в формате xml.
Взаимодействие с плейлистами
Для взаимодействия с плейлистами библиотека предоставляет класс Playlist:
from pytube import Playlist
Для создания объекта Playlist в конструктор класса надо передать ссылку на плейлист:
playlist = Playlist("https://www. youtube.com/playlist?list=PLlrxD0HtieHhS8VzuMCfQD4uJ9yne1mE6")
Все видео из плейлиста мы можем получить с помощью атрибута videos, которое представляет список Stream. Например, загрузим все видео из плейлиста:
from pytube import Playlist playlist = Playlist("https://www.youtube.com/playlist?list=PLlrxD0HtieHhS8VzuMCfQD4uJ9yne1mE6") print(f"Загрузка плейлиста: {playlist.title}") for video in playlist.videos: video.streams.first().download() print(f"Видео {video.title} загружено")
С помощью атрибута video_urls можно получить все ссылки на видео в плейлисте:
from pytube import Playlist playlist = Playlist("https://www.youtube.com/playlist?list=PLlrxD0HtieHhS8VzuMCfQD4uJ9yne1mE6") for url in playlist.video_urls: print(url)
СодержаниеВперед
Python — загрузить видео с Youtube — Алексей Лавриненко | Oleksiy Lavrynenko
Как-то неожиданно закончилось лето, а значит — пора продолжать учебу. И сегодня мы разберемся, как с помощью Python загрузить видео с Youtube 🙂 Важно: никаких надстроек в браузер или куда-то еще вам не понадобится. Чистый Python.
Немного предыстории: несколько лет назад у меня имелся канал, посвященный (барабанная дробь) — плетению косичек. Понятное дело, большого количества оригинального видео у меня не было, а потому приходилось брать видео откуда угодно. Понятно, активнее всего использовался VK, в котором, как мне кажется, никакой цензуры и правил к размещаемому видео не было, и не будет. Но оставался и Youtube, видео из которого я загружал с помощью сервиса SaveFrom, и аналогичных. Но сегодня мы говорим о Python, и я покажу код, созданный самостоятельно с применением библиотеки Pytube (подробности вы можете узнать тут).
Сам код доступен по ссылке, а пока расскажу о нем подробнее.
Основная задача, которую я поставил себе — разобраться не только с сохранением видео вообще (тут все достаточно просто, ведь все работу делает библиотека, в которую мы только отправляем нужные параметры), но и с сохранением видео в указанный каталог на компьютере. Проблема, с которой столкнулся — совершенное непонимание Python-ом локального адреса в стиле: c:\Users\users\Downloads\, зато адрес: c:\Users\users\Downloads\ Python понимает великолепно.
Решение задачи просто: парсим полученную локальную ссылку, куда планируется сохранить видео, разбиваем на составляющие: c:-Users-users-Downloads и в каждый промежуток добавляем по два обратных слеша \, благодаря чему получаем адрес, понимаемый Python-ом:
save_link = input(‘Куда сохранять видео?: ‘) — запрос адреса сохранения видео
regxp = ‘[\w-]+[\w:]’ — регулярное выражение, разбивающее локальный адрес на составляющие
result = re.findall(regxp, save_link) #Собственно — сама работа регулярного выражения
final_link = ‘\\’.join(result) #Добавляем двойной слеш после каждой папки (под формат Python)
Кроме этого хочется отметить алгоритм формирования списка возможных для загрузки форматов видео. Все доступные варианты мы получаем с помощью метода: yt.get_videos(), которые потом отправляем в переменную format_video, которая, по сути, представляет собой список.
Нужно лишь получить длину списка:format_len = len(format_video)
а после — с помощью цикла — сформировать словарь, в котором ключами будут номера вариантов форматов видео, а значениями ключей — сами форматы:
i = 1
format_list = {}
for formats in format_video:
format_list[i] = formats
i = i + 1
Сформировали словарь? Отлично! Выводим его на печать, что бы пользователь мог понимать, под каким пунктом доступен какой вариант с форматом видео:
for key in format_list:
print(‘%s -> %s’ % (key, format_list[key]))
Далее, с помощью метода .get, который применяется к нашему словарю, обрабатываем полученное от пользователя значение к формату видео:
format_for_save = int(input(‘В каком формате сохраняем? : ‘)) — запрос на вариант формата видео
select = (format_list.get(format_for_save)) — получаем значение ключа
print(‘Вы выбрали: ‘, select) — выводим ключ на экран
В принципе, основные вопросы, возникшие при решении задачи «Как загрузить видео с Youtube» озвучены.
А, и да — если понравился пост, сделайте репост на свою страницу 🙂 Спасибо!
P.S. В планах на самое ближайшее будущее — разобраться и написать программу пакетной загрузки видео с каналов Youtube: вводите ссылку на канал, папку, куда все грузите, и спустя какое-то время получаете все файлы в готовом виде 🙂
UPD: Один из читателей блога заметил, что в настоящее время код не работает 🙁 В ближайшее время постараюсь посмотреть — в чем причина, и устранить ее.
UPD: Рабочая версия кода с конвертированием видео в аудио — доступна тут 🙂
YouTube Video Downloader — SSYouTube.com
YouTube Video Downloader — SSYouTube.comЯвляясь третьим по популярности веб-сайтом в мире, YouTube предлагает своим пользователям отличные впечатления от просмотра. Чего он не может предоставить, так это загрузки видео с YouTube. Вот почему ssyoutube здесь, чтобы помочь вам!
Поддерживаемые платформы:
С помощью нашего загрузчика видео с YouTube вы можете выбирать видео и скачивать их бесплатно! Вы можете получить высококачественное видео в формате MP4, MP3, SQ, HD, Full HD и других форматах. Наше программное обеспечение работает как на ПК, так и на мобильных устройствах, что позволяет вам использовать его в любом месте!
Загрузка видео с YouTube еще никогда не была такой простой! Не тратьте свое время. Просто установите наше программное обеспечение на свои устройства и наслаждайтесь бесплатным контентом!
Хотите узнать больше? Вы можете найти наши инструкции по загрузке ниже.
Как скачать видео с YouTube онлайн
Скопируйте ссылку на видео и вставьте в строку ввода.
Нажмите «Скачать» и дождитесь готовности видео.
Выберите нужные параметры загрузки и нажмите «Загрузить».
Как сохранить видео с YouTube в различных форматах
- Если вы хотите скачать видео с YouTube в формате HD, MP3 или MP4, используйте Televzr Downloader.
- Загрузка видео с YouTube также возможна с Ummy. Просто нажмите на кнопки «HD через Ummy» или «MP3 через Ummy» под видео, которое вы хотите сохранить.
- После того, как вы установили приложение YouTube Downloader на свой компьютер, вы увидите кнопку «Скачать» под каждым видео.
- Этот метод позволяет загружать видео с YouTube на Mac OS и работает со всеми версиями Windows.
Как сохранять фильмы без надстройки для загрузки видео с YouTube
Знаете ли вы, что можно загружать видео с YouTube онлайн без надстройки? Просто добавьте «ss» к URL-адресу видео и сразу загрузите видео!
Вот пример:
- Исходный URL: https://youtube.com/watch?v=YOcmSsBfafg
- URL-адрес с ss: https://ssyoutube.com/watch?v=YOcmSsBfafg
Как сохранить видео с других веб-сайтов
У вас есть видео, которое вы хотите загрузить с любого другого веб-сайта? Загрузчик Ssyoutube YouTube позволяет сохранять видео с 99% веб-страниц! Все, что вам нужно сделать, это добавить «sfrom.net/» или «savefrom.net/» перед URL-адресом веб-сайта и нажать Enter.
Вы увидите список с прямыми ссылками на все видео, размещенные на этом веб-ресурсе.
Вот как это должно выглядеть: sfrom.net/http://www.freethechildren.com/
Как использовать короткий домен SSYouTube
Открыть видео на Youtube
Откройте видео на YouTube и найдите его URL.
Добавить «ss» перед URL-адресом видео
Добавьте «ss» перед URL-адресом видео, чтобы начать загрузку.
Ваша загрузка начнется
Нажмите «Войти», и вы будете перенаправлены на страницу загрузки.
YouTube Video Downloader — скачивайте видео с YouTube в HD качестве
Быстро и легко скачивайте видео с YouTube в HD качестве
Скачать
Музыкальные видеоклипы не могут быть загружены с помощью нашего сервиса, если они не защищены авторскими правами.
🚨 Попробуйте новый онлайн-загрузчик видео с поддержкой 1800 веб-сайтов.
Подготовка к загрузке…
Быстрая загрузка видео
Вы можете быстро загрузить видео с YouTube, заменив «вы» в youtube.com на «000». Вот пример:
👇
https://www.000tube.com/watch?v=6stlCkUDG_s
10downloader — это бесплатный онлайн YouTube загрузчик видео, который позволяет пользователям быстро и легко загружать видео с YouTube. Просто вставьте ссылку YouTube в текстовое поле выше и сразу загрузите свои любимые видео.
С помощью этого инструмента для загрузки YouTube вы можете загружать видео с YouTube в HD-качестве без необходимости устанавливать какое-либо дополнительное программное обеспечение или расширения браузера. Инструмент на 100% онлайн и бесплатен для использования.
Мы создали этот онлайн-инструмент для работы с видео, который позволяет учителям и преподавателям сохранять видео для использования в классе, журналистам, которые хотят сохранить копии важных видео до того, как они будут удалены с платформы, и всем, кто хочет загрузить YouTube видео, не защищенные авторскими правами, для использования в автономном режиме.
Это самая безопасная и лучшая альтернатива Y2Mate, SaveFrom, BTClod, QDownloader, BitDownloader, X2Mate, 4K Video Downloader, 8Downloader и другим веб-сайтам, заполненным вредоносной рекламой.
Как скачать видео с YouTube на ПК?
Загрузка видео с YouTube на ваш компьютер — это быстрый и простой процесс благодаря 10Downloader.
Вот шаги.
1. Перейдите на веб-сайт YouTube и откройте видео, которое хотите загрузить.
2. Скопируйте ссылку на видео из адресной строки браузера.
3. Вставьте ссылку в поле поиска на 10Downloader, например, вверху этой страницы.
4. 10Загрузчик автоматически начнет поиск видео. Он отобразит результаты в течение нескольких секунд.
5. Определите разрешение видео, которое вы хотите сохранить, затем щелкните правой кнопкой мыши кнопку «Загрузить» и выберите параметр «Сохранить», «Сохранить как» или «Сохранить ссылку как». Именование будет варьироваться в зависимости от используемого вами браузера.
6. Видео с YouTube начнет загружаться на ваш компьютер и будет сохранено в папку по умолчанию или в выбранную папку загрузок.
Как скачать видео с YouTube на iOS/Android/смартфон?
Чтобы загрузить видео YouTube на свой мобильный телефон, просто вставьте ссылку на видео YouTube в 10Скачать и сохраните видео
Вот пошаговые инструкции:
1. В приложении YouTube откройте видео, которое вы хотите сэкономить.
2. Нажмите кнопку Поделиться под видео, затем выберите Скопировать ссылку .
3. Откройте браузер на телефоне и перейдите на 10downloader.com.
4. Вставьте ссылку в поле поиска в верхней части страницы.
4. Сайт начнет поиск видео. В течение нескольких секунд он должен отобразить доступные разрешения видео и выходные форматы.
5. Определите разрешение видео, которое вы хотите сохранить, затем нажмите и удерживайте Загрузить кнопку рядом с ним и выберите вариант сохранения.
На iPhone этот параметр обычно называется «Загрузить связанный файл».
В Android название может быть другим, но обычно оно называется «Загрузить файл», «Загрузить» или «Сохранить».
6. Видео начнет сохраняться на вашем мобильном телефоне и должно быть завершено в течение нескольких секунд или минут в зависимости от размера файла.
Часто задаваемые вопросы о онлайн-загрузчике YouTube
Как я могу загружать видео с YouTube?
- Откройте веб-браузер и перейдите на YouTube. Если вы используете мобильный телефон, вы можете в качестве альтернативы открыть приложение YouTube.
- Перейдите к видео, которое вы хотите скачать, и скопируйте его ссылку. На рабочем столе вы можете скопировать ссылку на видео из строки URL-адреса браузера. В приложении YouTube нажмите кнопку «Поделиться» и скопируйте URL-адрес.
- Перейдите на сайт 10downloader.com в веб-браузере.
- Вставьте ссылку на видео в строку поиска и нажмите кнопку «Скачать».