当前位置: 首页 > 后端技术 > Python

pythonyou-get视频下载神器

时间:2023-03-26 13:12:50 Python

使用you-get,只需获取视频所在网页的链接地址,即可轻松下载。目前you-get支持的网站包括国内外数十个网站(youtube、twitter、腾讯、爱奇艺、优酷、bilibili等),基本可以满足您的需求。you-getgithub地址:https://github.com/soimort/yo...1.you-get可以直接通过命令行安装you-get:pipinstallyou-get下载命令:you-getyour-urlyou-gethttps://www.bilibili.com/bangumi/play/ep118488?from=search&seid=5050973611974373611也可以下载图片you-gethttps://pic1.zhimg.com/80/v2-9d9a367abe0850023be9de408ae3fff2_720w。webp?来源=1940ef5c2。通过python调用you-getlibraryimportsysimportyou_getdefdownload(url,path):sys.argv=['you-get','-o',path,url]you_get.main()if__name__=='__main__':#视频网站地址url='https://www.bilibili.com/bangumi/play/ep118488?from=search&seid=5050973611974373611'#视频输出路径所在位置='E:/test'download(url,path)3.python简单集成tkinter并以GUI形式显示(单线程,未优化,后续优化)importreimportsysimporttkinterastkimporttkinter.messageboxasmsgboximportwebbrowserimportyou_get"""视频下载类"“”类下载应用程序:#构造def__init__(self,width=800,height=200):self.w=widthself.h=heightself.title='视频下载助手'self.root=tk.Tk(className=self.title)self.url=tk.StringVar()self.start=tk.IntVar()self.end=tk.IntVar()self.path=tk.StringVar()self.path.set('D:/DownloadApp')#定义frameframe_1=tk.Frame(self.root)frame_2=tk.Frame(self.root)frame_3=tk.Frame(self.root)frame_4=tk.Frame(self.root)#menumenu=tk.Menu(self.root)self.root.config(menu=menu)menu1=tk.Menu(menu,tearoff=0)menu.add_cascade(label='Menu',menu=menu1)menu1.add_command(label='aboutme',command=lambda:webbrowser.open('https://blog.csdn.net/zwx19921215'))menu1.add_command(label='exit',command=lambda:self.root.quit())#setframe_1label1=tk.Label(frame_1,text='请输入视频链接:')entry_url=tk.Entry(frame_1,textvariable=self.url,highlightcolor='Fuchsia',highlightthickness=1,width=35)#setframe_2s_lable=tk.标签l(frame_2,text='起始值:')e_lable=tk.Label(frame_2,text='结束值:')start=tk.Entry(frame_2,textvariable=self.start,highlightcolor='紫红色',highlightthickness=1,width=10)end=tk.Entry(frame_2,textvariable=self.end,highlightcolor='Fuchsia',highlightthickness=1,width=10)#setframe_3label2=tk.Label(frame_3,text='请输入视频输出地址:')entry_path=tk.Entry(frame_3,textvariable=self.path,highlightcolor='Fuchsia',highlightthickness=1,width=35)down=tk.Button(frame_3,text='download',font=('Italian',12),fg='green',width=3,height=-1,command=self.video_download)#setframe_4label_desc=tk.Label(frame_4,fg='black',font=('Italicscript',12),text='\n注意:支持youtube、twitter、腾讯、爱奇艺、优酷、bilibili等大部分主流网站的视频下载和图片下载!')label_warning=tk.Label(frame_4,fg='blue',font=('单体',12),text='\nauthor:xiaofeng')#布局frame_1.pack()frame_2.pack()frame_3.pack()frame_4.pack()label1.grid(行=0,列=0)entry_url。网格(行=0,列=1)s_lable.grid(row=1,column=0)start.grid(row=1,column=1)e_lable.grid(row=1,column=2)end.grid(row=1,column=3)label2.grid(row=2,column=0)entry_path.grid(row=2,column=1)down.grid(row=2,column=2,ipadx=20)label_desc.grid(row=3,column=0)label_warning.grid(row=4,column=0)"""Videodownload"""defvideo_download(self):#正则表达式判断是否为合法链接url=self.url.get()path=自我。path.get()ifre.match(r'^https?:/{2}\w.+$',url):ifpath!='':msgbox.showwarning(title='Warning',message='如果在下载过程中窗口出现短暂的冻结,则表示正在下载文件!')try:sys.argv=['you-get','-o',path,url]you_get.main()除了Exceptionase:print(e)msg??box.showerror(title='error',message=e)msg??box.showinfo(title='info',message='Downloadcomplete!')else:msgbox.showerror(title='error',message='输出地址错误!')else:msgbox.showerror(title='error',message='视频地址错误!')defcenter(self):ws=self.root.winfo_screenwidth()hs=选择f.root.winfo_screenheight()x=int((ws/2)-(self.w/2))y=int((hs/2)-(self.h/2))self.root.geometry('{}x{}+{}+{}'.format(self.w,self.h,x,y))defevent(self):self.root.resizable(False,False)self.center()self.root.mainloop()if__name__=='__main__':app=DownloadApp()app.event()