开篇寄语
伯衡君此前分享过几个用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等科学上网翻墙方式来下载,不然会失败的。
- 我的微信
- 微信扫一扫加好友
- 我的微信公众号
- 扫描关注公众号