大家是否有碰到喜欢的音乐和视频,却因为各种限制,导致不能下载。虽然说在网上很多平台提供了下载方式,但是良莠不齐,甚至还会遇到病毒。今天编程学习网就带大家分享Python教程,如何使用Python下载音频软件文件
主角就是you-get,通过python脚本来实现,并且通过GUI呈现,方便不会编程的人员。
you-get是开源的第三方库,支持视频、音乐、图片的下载,而且覆盖主流的网站,比如腾讯视频、哔哩哔哩、YouTube、酷狗、网易云等86+网站。
you-get使用
在cmd窗口输入以下命令来安装you-get
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple you-get

查看视频画质及格式:-i
1you-get -i https:
//v.qq.com/x/cover/mzc00200p29gosv/x0036gyn378.html
视频默认选项下载
1you-get https:
//v.qq.com/x/cover/mzc00200p29gosv/x0036gyn378.html
设置输出路径和重命名文件:-o为设定输出路径,-O为重命名下载的视频
you-get -o E:\ -O 斗破 https://v.qq.com/x/cover/mzc00200p29gosv/x0036gyn378.html
在线观看视频:如果不想观看广告,可以使用播放器在线播放
you-get -p chromium https://v.qq.com/x/cover/mzc00200p29gosv/x0036gyn378.html
以上是在cmd窗口中的下载方法,下面附上可以在界面直接下载的python代码,大家可以作为参考
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | from tkinter import * from tkinter import filedialog from tkinter.scrolledtext import ScrolledText from threading import Thread from re import match import tkinter.messagebox as msgbox import sys from you_get import common as you_get top = Tk() top.title( "视频下载器--作者:笨熊" ) # 获取屏幕尺寸以计算布局参数,使窗口居屏幕中央,其中width和height为界面宽和高 width = 700 height = 350 screenwidth = top.winfo_screenwidth() screenheight = top.winfo_screenheight() alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2) top.geometry(alignstr) # 阻止窗口调整大小 top.resizable(0, 0) # 设置窗口图标 top.iconbitmap(r "E:\pythonProject\az0bv-zfqt1-001.ico" ) # 框架布局 frame_root = Frame(top) frame_left = Frame(frame_root) frame_right = Frame(frame_root) frame_left.pack(side=LEFT) frame_right.pack(side=LEFT, anchor=N) frame_root.pack() #输入视频链接 tip1= Label(frame_left, text= '请输入视频链接' ,font = ( '楷体' ,18)) tip1.pack(padx=10,anchor=W) #视频链接输入框 input_url= Entry(frame_left,bg= '#F7F3EC' ) input_url.pack(ipadx=159,ipady=8,padx=20,anchor=W) input_url_clear = Button(frame_left, text= '清空' , font=( '楷体' , 18), activebackground= 'gray' , bd=5, bg= '#da765b' ,command=_clear).pack(ipadx=80, padx=140, pady=38, anchor=W) #请选择保存位置 tip2=Label(frame_left, text= '\n请选择保存位置' ,font = ( '楷体' ,18)) tip2.pack(padx=10,anchor=W) #保存地址输入框 input_save_address= Entry(frame_left,bg= '#F7F3EC' ) input_save_address.pack(ipadx=159,ipady=8,padx=20,anchor=W) # 浏览本地文件夹,选择保存位置 def browse_folder(): # 浏览选择本地文件夹 save_address = filedialog.askdirectory() # 把获得路径,插入保存地址输入框(即插入input_save_address输入框) input_save_address.insert(0, save_address) # 下载函数 def download(): # 从输入框获取视频链接 url = input_url.get() # 从输入框获取保存地址 save_address = input_save_address.get() cmd = f 'you-get.exe -o {save_address} {url}' if match(r '^https?:/{2}\w.+$' , url): if save_address != '' : try: # stext.insert( END , '\n\n视频下载中......\n\n' ) sys.argv = [ 'you-get' , '-o' , save_address, url, ] you_get.main() # p = sub.Popen(cmd, stdout=sub.PIPE, stderr=sub.PIPE) # output,errors = p.communicate() # output = output.decode( 'UTF-8' ).strip().split() # for line in [f '视频:{output[14]}\n' ,f '文件大小:{" ".join(output[9:11])}\n\n' ]: # stext.insert( END , line) # stext.insert( END , '视频下载完成!\n\n' ) # stext.insert( END , '=' *60, '\n\n' ) msgbox.showinfo(title= 'Info' , message= '视频下载完成!' ) # 使滚动文本框的滚动条始终保持在最底段 # stext.yview_moveto(1) except: # stext.insert( END , '\n\n该视频不支持下载!\n\n' ) # stext.insert( END , '=' * 60, '\n\n' ) msgbox.showerror(title= 'Error' , message= '该视频不支持下载!' ) else : # stext.insert( END , '\n\n视频保存地址错误!\n\n' ) # stext.insert( END , '=' * 60, '\n\n' ) msgbox.showerror(title= 'Error' , message= '视频保存地址错误!' ) else : # stext.insert( END , '\n\n视频链接错误!\n\n' ) # stext.insert( END , '=' * 60, '\n\n' ) msgbox.showerror(title= 'Error' , message= '视频链接错误!' ) # 为避免在下载时tkinter界面卡死,创建线程函数 def thread_it(func, *args): # 创建 t = Thread(target=func, args=args) # 守护 !!! t.setDaemon(True) # 启动 t.start() # “浏览文件夹”按钮 browse_folder_button = Button(frame_right, text= '浏览' , font=( '楷体' , 15), activebackground= 'gray' , bd=5, bg= '#da765b' , command=lambda: thread_it(browse_folder)).pack(ipadx=30, pady=140, side=LEFT, anchor=SE) # 新建空白标签,无实际作用,内容为空,为了让界面对称,更美观,可理解为“占位符” # Label(frame_right, text= ' ' ).pack(pady=223, padx=13,side=LEFT, anchor=W) # “下载”按钮 download_button = Button(frame_left, text= '下载' , font=( '楷体' , 18), activebackground= 'gray' , bd=5, bg= '#da765b' , command=lambda: thread_it(download)).pack(ipadx=80, padx=140, pady=38, anchor=W) # ScrolledText组件(滚动文本框) # stext = ScrolledText(frame_left, width=60, height=23, background= '#F7F3EC' ) # stext.pack(padx=20, anchor=W) top.mainloop() |
以上就是“用python下载音频软件文件教程分享(python怎么从网站下载音频)”的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://www.phpxs.com/post/9425/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取