
开篇寄语
伯衡君此前分享过几个用Python轻松下载YouTube视频的方法,具体可以参看下方的前情提要,而这次伯衡君想到何不制作一个应用来让操作更加简便呢,有了图形界面,是不是更好操作呢?大家一分钟就可以制作完成,使用这样书写的代码的话(从头写的话那就是几十分钟了,嘿嘿),分享给大家。
前情提要
- 《用python两行代码下载YouTube视频》(今天会用到)
- 《Python项目You-get一行代码下载各种网站视频,音频,图片》
- 《曾经封禁的下载神器Youtube-dl又从GitHub重出江湖了,快来使用》
内容详情
本篇以Windows系统为例,其他系统打包,生成该系统可用的应用。撰写代码,肯定是需要一个IDE来撰写的,伯衡君使用的是Pycharm,其他诸如VScode,Notepad++等等也可以酌情使用。
伯衡君使用了前情提要中的第一篇文章的库,pytube,请先下载安装好,之后打开pycharm,输入以下代码,伯衡君已经写好了:
from pytube import YouTube
from tkinter import (
Tk,
Label,
Entry,
Button,
StringVar,
messagebox,
filedialog
)
root = Tk()
download_path = StringVar()
video_link = StringVar()
win_width = 600
win_height = 300
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
start_x = int(screen_width / 2 - win_width / 2)
start_y = int(screen_height / 2 - win_height / 2)
def app_meta_data():
root.geometry('{}x{}+{}+{}'.format(win_width, win_height, start_x, start_y))
root.title('Youtube Downloader')
root.resizable(False, False)
root.configure(bg="#ff0022")
def heading():
text = "YT Downloader"
font = ("Microsoft YaHei", 18, "bold")
heading = Label(root, text=text, font=font, bg="#ff0022", fg="#ffffff", padx=10)
heading.pack()
def video_link_label():
text = "Youtube Link"
font = ("Microsoft YaHei", 12, "bold")
link_label = Label(root, text=text, font=font, bg="#ff0022", fg="#000000")
link_label.place(relx=0.03, rely=0.26)
def file_path():
text = "File Save Path"
font = ("Microsoft YaHei", 12, "bold")
path_label = Label(root, text=text, font=font, bg="#ff0022", fg="#000000")
path_label.place(relx=0.03, rely=0.46)
def youtube_input():
font = ("Microsoft YaHei", 10)
yt_link = Entry(root, width=40, textvariable=video_link, relief="solid", font=font)
yt_link.place(relx=0.3, rely=0.25, relheight=0.1)
def file_save():
font = ("Microsoft Yahei", 10)
file_path = Entry(root, width=30, textvariable=download_path, relief="solid", font=font)
file_path.place(relx=0.3, rely=0.45, relheight=0.1)
def browser_button():
text = "Browser"
font = ("Microsoft Yahei", 10, "bold")
browser_file = Button(root, text=text, font=font, command=browse)
browser_file.place(relx=0.73, rely=0.45)
def browse():
download_directory = filedialog.askdirectory()
download_path.set(download_directory)
def download_button():
text = "Download"
font = ("Microsoft Yahei", 10, "bold")
download_file = Button(root, text=text, font=font, command=download_video)
download_file.place(relx=0.45, rely=0.8)
def download_video():
try:
youtube_link = video_link.get()
download_folder = download_path.get()
get_video = YouTube(youtube_link)
video_stream = get_video.streams.first()
video_stream.download(download_folder)
messagebox.showinfo("Success")
except:
messagebox.showinfo("Fail")
def main():
app_meta_data()
heading()
video_link_label()
file_path()
file_save()
youtube_input()
browser_button()
download_button()
root.mainloop()
if __name__ == '__main__':
main()
在编辑器里面就是这个样子的,如下图所示:

保存好后,找到该文件所在地,咱们要将它打包为应用,如何打包呢?这里需要用到python的一个库,名字叫做pyinstaller,按下“win”+ "R",调出运行窗口,然后输入cmd,调出命令窗口,输入“pip install pyinstaller”,如下图所示:

伯衡君已经安装过了,所以是这个样子,未安装的会有进度条的。
安装好后,再返回那个文件所在的文件夹,就是IDE编辑器左侧列出的那个文件所在的文件夹。

找到后,在该页面按住"shift"+鼠标右键,有一个powershell选项,将它调用出来,如下图所示:

之后在该窗口先是输入cmd,回车,在输入"pyinstaller main.py",之后等待完成,如下图所示:

之后,生成的exe应用就在dist这个文件夹内,打开后,找到exe程序运行即可,如下图所示:

之后再地址栏复制粘贴YouTube视频地址,之后选择保存地址,然后点击下载就可以了。
温馨提示
如果你不想写,那么伯衡君就把生成好的应用打包了,又想要的可以下载使用,对了,如果你在中国大陆的话,请使用VPN等科学上网翻墙方式来下载,不然会失败的。
- 我的微信
- 微信扫一扫加好友
-
- 我的微信公众号
- 扫描关注公众号
-





