Вновь порадую очередным "велосипедом" нечастых посетителей моего "дневника обо всём".
Для этого нам потребуется Python (с tkinter, который идёт в комплекте сразу) и, собственно, youtube-dl, виновник торжества.
В этот раз мне захотелось перестать искать в истории терминала запущенную ранее команду. Заодно хотелось сделать простенькое окно с полем ввода ссылки и кнопкой для скачивания. И привязать это всё к комбинации клавиш для того, чтобы снова продвинуть прогресс немного вперёд с помощью лени.
Получился вот такой результат:
Для этого нам потребуется Python (с tkinter, который идёт в комплекте сразу) и, собственно, youtube-dl, виновник торжества.
Существуют различные альтернативы для закачки видеороликов с YouTube, и, конечно, целая куча GUI именно для youtube-dl. Но здесь вы получаете скрипт, содержимое которого полностью доступно и на мяукающий мешок не должно быть похоже.
Кроме того, скрипт может быть полезен людям, ищущим в сети информацию по созданию окошек с текстовыми надписями, полями ввода и кнопочками, в качестве простенького примера.
Итак, краткое описание:
Скрипт вызывает окно, в котором указано, в какой каталог будет загружаться видео, запрашивает ссылку на ролик и пытается скачать его с наилучшим доступным качеством видео- и аудиопотоков. Путь к директории для загрузки прописывается вручную в самом скрипте; это удобно, когда нужно всё время сохранять в одном и том же месте. Процесс скачивания начинается при нажатии кнопки [Скачать], после этого скрипт завершает работу. Если при этом в поле для ссылки ничего не введено или введено некорректное значение, никаких уведомлений выводиться не будет, а окно закроется. В общем, ссылка должна быть такой, какую бы принял youtube-dl, если бы был запущен в терминале.
Ну и сам скрипт:
from tkinter import *
import os
def posledovatelnost(): # выполнение команды и закрытие
os.system(("cd '%s' && youtube-dl -f bestvideo+bestaudio '%s'" % (katalog, adres.get())))
okno.destroy()
katalog = "/home/<username>/Desktop" # путь к каталогу для закачанных файлов
# создание окна программы
okno.title("YouTube download") # заголовок
okno.config(padx=8, pady=4) # свободное пространство по краям
okno.minsize(330, 80) # минимальный размер
okno.maxsize(640, 80) # максимальный размер
Label(okno, text=(" Видео будет сохранено в каталог: '%s' " % katalog)).pack(expand=NO, fill=X)
Button(okno, text="Скачать", command=posledovatelnost).pack(side=BOTTOM)
Label(okno, text=("Ссылка: ")).pack(side = LEFT, fill=X)
adres = Entry(okno) # поле ввода URL
adres.delete(0, END)
adres.insert(0, "")
adres.pack(side=RIGHT, expand=YES, fill=X)
adres.focus()
adres.bind("<Return>", (lambda event: posledovatelnost()))
okno.mainloop() # "запускатор", необходим
Укажите необходимый путь в переменной katalog (пути вида "~/Desktop" или "$HOME/Desktop" у меня не принимались, поэтому использовал полный).
Комментариев нет:
Отправить комментарий
Если у вас есть что сказать и/или вы не согласны с изложенным в посте – оставьте комментарий. Регистрации не требуется.
If you think I'm wrong and/or you have to say something – fill free to write comment. No sign up required.