Amazing-Python-Scripts

Форк
0
61 строка · 1.7 Кб
1
from tkinter import *
2
from pytube import YouTube
3
from pytube import Playlist
4

5
# select wether to download video or playlist
6

7

8
def mode_selector():
9
    url = link.get()
10
    if "watch?v=" in url:
11
        video_downloader(url)
12
    elif "playlist?list=" in url:
13
        playlist_downloader(url)
14
    else:
15
        print("Invalid YouTube URL!")
16
    Label(root, text='DOWNLOADED!', font='arial 15').place(x=280, y=230)
17

18
# function to download single video
19

20

21
def video_downloader(url):
22
    try:
23
        yt = YouTube(url, use_oauth=True, allow_oauth_cache=True)
24
        yt.streams.first().download()
25
    except Exception as e:
26
        Label(root, text=f'Video Error Downloading!.... Try Again #{e}', font='arial 15').place(
27
            x=100, y=210)
28

29
# function to download playlist
30

31

32
def playlist_downloader(url):
33
    try:
34
        py = Playlist(url)
35
        for video in py.videos:
36
            video_downloader(video.watch_url)
37
    except Exception as e:
38
        Label(root, text=f'Playlist Error Downloading!.... Try Again #{e}', font='arial 15').place(
39
            x=100, y=210)
40
        print(e)
41

42

43
if __name__ == "__main__":
44
    root = Tk()
45
    root.geometry('800x600')
46
    root.resizable(0, 0)
47
    root.title("YouTube Video Downloader")
48

49
    Label(root, text='Copy the link of the VIDEO/PLAYLIST you want to download from YouTube',
50
          font='arial 15 bold').pack()
51

52
    # enter link
53
    link = StringVar()
54

55
    Label(root, text='Paste Link Here:',
56
          font='arial 15 bold').place(x=270, y=60)
57
    Entry(root, width=80, textvariable=link).place(x=32, y=90)
58
    Button(root, text='DOWNLOAD', font='arial 15 bold', bg='white',
59
           padx=2, command=mode_selector).place(x=280, y=150)
60

61
    root.mainloop()
62

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.