Youtube downloader python что это

Python Script для загрузки видео YouTube. Библиотека Pybube Python для загрузки видео YouTube. Мы можем скачать только аудио и все видео из списка воспроизведения.

Python — загрузить видео с Youtube

загрузить видео с Youtube

загрузить видео с Youtube

Как загрузить видео с Youtube

Как-то неожиданно закончилось лето, а значит — пора продолжать учебу. И сегодня мы разберемся, как с помощью Python загрузить видео с Youtube Важно: никаких надстроек в браузер или куда-то еще вам не понадобится. Чистый Python.

How to make a Youtube downloader in python #python

Немного предыстории: несколько лет назад у меня имелся канал, посвященный (барабанная дробь) — плетению косичек. Понятное дело, большого количества оригинального видео у меня не было, а потому приходилось брать видео откуда угодно. Понятно, активнее всего использовался VK, в котором, как мне кажется, никакой цензуры и правил к размещаемому видео не было, и не будет. Но оставался и Youtube, видео из которого я загружал с помощью сервиса SaveFrom, и аналогичных. Но сегодня мы говорим о Python, и я покажу код, созданный самостоятельно с применением библиотеки Pytube (подробности вы можете узнать тут).

Сам код доступен по ссылке, а пока расскажу о нем подробнее.

Основная задача, которую я поставил себе — разобраться не только с сохранением видео вообще (тут все достаточно просто, ведь все работу делает библиотека, в которую мы только отправляем нужные параметры), но и с сохранением видео в указанный каталог на компьютере. Проблема, с которой столкнулся — совершенное непонимание Python-ом локального адреса в стиле: c:UsersusersDownloads, зато адрес: c:UsersusersDownloads 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, которая, по сути, представляет собой список. Нужно лишь получить длину списка:

Еще по теме:  Youtube ты что тупой

Download YouTube video using python code || Python Community


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: Рабочая версия кода с конвертированием видео в аудио — доступна тут

Источник: lavrynenko.com

Как в Linux скачать youtube ролик? Скрипт на Python 3

скрипт Linux скачать youtube python 3

В 2016 году я оставил работу системным администратором в крупной Тюменской компании и мы вместе с семьей переехали жить в деревню. Как вы сами понимаете здесь нет возможности работать по моей любимой профессии, кроме как заниматься фрилансом. Однако за что я люблю IT, так это за то, что в этой области всегда есть возможность учится и развиваться не смотря ни на что!

Так на старости лет я решил вспомнить, что по образованию полученному почти 20 лет назад я программист и начать снова изучать программирование. А точнее новый (для меня) язык Python. До этого весь мой опыт программирования сводился к написанию небольших web-проектов на php и javascriptjquery, а так же написание скриптов на bash и powershell, в основном для решения различных задач в моей повседневной работе системным администратором. Ах да, был еще Delphi на заре моей карьеры, и даже дипломный проект на нем, но это уже совсем древняя история.

Еще по теме:  Как убрать все лайки в ютубе которые я ставил

Почему Python

Или даже почему я вновь сел за редактор кода. Во первых это интересно! Во вторых надо тренировать мозги. В третьих старший сын давно просит научить его программировать, а как я его буду учить если сам все забыл. Ну и не последняя причина — потому что появились задачи, которые захотелось решить написав программу самостоятельно.

Питон вообще хотел изучить давно, в том числе для применения в работе сисадмином, поскольку язык весьма мощный и востребованный. Но как то все не складывалось. Спектр применения питона весьма широк, можно писать не только скрипты, но и приложения разного уровня сложности, в том числе для веб или с графическим интерфейсом.

Ну и вообще изучение нового и непонятного — лучшая тренировка для мозга. А с питоном, для меня, все довольно не-интуитивно после php, поэтому мозги шевелятся, инфа гуглится!

Задача — скачать ролик с Youtube по расписанию

У меня никогда не получалось изучать программирование каким-то классическим, последовательным методом. Мне всегда нужна была реальная задача, в ходе решения которой я осваиваю новый язык или новые возможности. Так получилось и с питоном.

Как я уже писал в статье про интернет в деревне — тариф у меня хоть и самый дорогой, но довольно неудобный. На месяц Мегафон предлагает всего 30 Гб. трафика, а полный безлимит наступает только после часу ночи. Если с торентами и закачками файлов этот вопрос легко решается настройкой расписания в клиенте, то вот с ютубом вопрос встал.

А нужной информации в Yotube все больше и терять этот канал очень не хочется. Сидеть до часу ночи тоже не всегда удобно, плюс иногда бывает необходимо пересмотреть ролики. Поэтому было принято пиратское решение — ролики выкачивать.

Искать готовое решение не хотелось, раз уж я решил поизучать Python, то решил попробовать на нем. Первым же запросом нашлась готовая библиотека pytube, которая позволяет выкачивать ролики в нужном формате. Довольно простая в использовании. На ее основе и был написан первый простецкий, кривущий скрипт.

Еще по теме:  Не устанавливается Ютуб на планшет Самсунг галакси таб

Опытные программисты наверняка закидают меня тапками за уродский код, но скрипт работает и минимально мою задачу решает. Вот собственно сам код скрипта с небольшими комментариями, а ниже я расскажу как он работает.

#!/usr/bin/env python3 from pytube import YouTube import shutil import os import sys #Записываем pid процесса в файл, чтобы можно было его закрыть скриптом stop.sh with open(«/tmp/ytdown.pid»,»w») as pid: print(str(os.getpid()),file=pid) #Получаем путь где лежит скрипт и файл с ссылками откуда бы он не был запущен dirs=os.path.dirname(sys.argv[0])+»/» #Открываем файл ссылок f = open(dirs+»links.txt»,’r’) #Читаем строки из файла в переменную strokes = f.readlines() #Переводим указатель в файле в начало f.seek(0) for line in f: try: #Если строка не пустая и это ссылка на ролик в youtube то получаем mp4 в максимальном разрешении и качаем yt = YouTube(line) res = str(yt.filter(‘mp4’)[-1])[23:27] print (res) print(yt.filename) video = yt.get(‘mp4’, res) video.download(‘/home/dkplayer/Загрузки/youtube/’) except ValueError: #Если строка не является ссылкой на ролик то выводим сообщение print(«Неверная ссылка или пустая строка») #Удаляем текущую строку из списка strokes.remove(line) #Сохраняем список во временный файл (без текущей строки) with open(dirs+»links1.txt»,»w») as out: for i in strokes: print(i,file=out) #Копируем временный файл в текущий shutil.copy(dirs+’links1.txt’, dirs+’links.txt’) f.close

Итак в папке со скриптом лежит файлик links.txt в который я вставляю ссылки на нужные мне ролики, по одной ссылке на строку. Скрипт скачивает ролик в mp4 формате в максимальном доступном разрешении, после чего удаляет строку из файла. Это нужно, чтобы когда прервется работу скрипта и при следующем запуске скрипт на стал закачивать уже скачанные ссылки.

Дальше в крон делаем 2 задания в первом запускаем скрипт в час ночи, во втором запускаем простой bash скрипт, который берёт pid скрипта из файла /tmp/ytdown.pid и прибивает его командой kill. Да, забыл упомянуть, что работает это все конечно же под Linux, под Windows скрипт придется немного модифицировать.

Конечно скрипт кривой и я сам вижу, что многое можно улучшить и упростить, но решил выложить вот такой первоначальный вариант как пример того, что на питон можно даже в таком варианте решать не совсем стандартные задачи потратив на написание и изучение питона всего несколько часов времени.

Источник: www.k7d.ru

Рейтинг
( Пока оценок нет )
Загрузка ...