一学就会的python视频音乐下载
最近想下载视频和音乐资源,但是却无法下载,这可苦恼了我。
于是我一通操作,找到了门路来实现视频和音乐的下载,下面跟着我操作吧!
主角就是you-get,通过python脚本来实现,并且通过GUI呈现,方便不会编程的人员。
you-get是开源的第三方库,支持视频、音乐、图片的下载,而且覆盖主流的网站,比如腾讯视频、哔哩哔哩、YouTube、酷狗、网易云等86+网站。
安装python
下载python安装包 https://www.python.org/ftp/python/3.9.6/python-3.9.6-amd64.exe
下载完成后,双击打开python安装包,先勾选添加环境变量“Add python 3.9 to PATH”,再点击选择安装位置“Customize installation”
继续点击“下一步”
选择安装的位置(默认也可以),再点击“Install”安装,之后等待安装完成即可。
验证一下是否安装ok!
按win+r,打开cmd窗口,并输入“python”
如果有python的相关信息,说明python安装完成。
you-get使用
在cmd窗口输入以下命令来安装you-get
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple you-get
查看视频画质及格式:-i
you-get -i https://v.qq.com/x/cover/mzc00200p29gosv/x0036gyn378.html
视频默认选项下载
you-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代码,大家可以作为参考
from tkinter import *from tkinter import filedialogfrom tkinter.scrolledtext import ScrolledTextfrom threading import Threadfrom re import matchimport tkinter.messagebox as msgboximport sysfrom you_get import common as you_gettop = Tk()top.title("视频下载器--作者:笨熊")# 获取屏幕尺寸以计算布局参数,使窗口居屏幕中央,其中width和height为界面宽和高width = 700height = 350screenwidth = 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 }\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()
支持的网站
网站 | URL | 视频? | 图像? | 音频? |
YouTube | https://www.youtube.com/ | ✓ | ||
https://twitter.com/ | ✓ | ✓ | ||
VK | 欢迎来到 VK | VK | ✓ | ||
Vine | https://vine.co/ | ✓ | ||
Vimeo | https://vimeo.com/ | ✓ | ||
Vidto | vidto.me | ✓ | ||
Veoh | http://www.veoh.com/ | ✓ | ||
Tumblr | https://www.tumblr.com/ | ✓ | ✓ | ✓ |
TED | TED: Ideas Worth Spreading | ✓ | ||
SoundCloud | https://soundcloud.com/ | ✓ | ||
https://www.pinterest.com/ | ✓ | |||
MusicPlayOn | http://en.musicplayon.com/ | ✓ | ||
MTV81 | MTV Japan | ✓ | ||
Mixcloud | https://www.mixcloud.com/ | ✓ | ||
Metacafe | VideosHub | Popular Internet Videos | ✓ | ||
Magisto | Online Video Editor | Smart Video Maker by Magisto | ✓ | ||
Khan Academy | Khan Academy | Free Online Courses, Lessons & Practice | ✓ | ||
JPopsuki TV | http://www.jpopsuki.tv/ | ✓ | ||
Internet Archive | https://archive.org/ | ✓ | ||
https://instagram.com/ | ✓ | ✓ | ||
Heavy Music Archive | ιlιlι Heavy Music Archive | ✓ | ||
Google+ | https://plus.google.com/ | ✓ | ✓ | |
Freesound | http://www.freesound.org/ | ✓ | ||
Flickr | https://www.flickr.com/ | ✓ | ✓ | |
https://www.facebook.com/ | ✓ | |||
eHow | http://www.ehow.com/ | ✓ | ||
Dailymotion | http://www.dailymotion.com/ | ✓ | ||
CBS | CBS TV Network Primetime, Daytime, Late Night and Classic Television Shows | ✓ | ||
Bandcamp | http://bandcamp.com/ | ✓ | ||
AliveThai | http://alive.in.th/ | ✓ | ||
interest.me | NO.1 K콘텐츠 채널, 즐거움엔 tvN | ✓ | ||
755 | 新感覚SNS | 755 | ✓ | ✓ | |
niconico | http://www.nicovideo.jp/ | ✓ | ||
163 | 网易直播 | ✓ | ✓ | |
56网 | 56视频首页 | ✓ | ||
AcFun | http://www.acfun.tv/ | ✓ | ||
Baidu | 百度贴吧——全球领先的中文社区 | ✓ | ✓ | |
爆米花网 | 爆米花网--爆出精彩视界 | ✓ | ||
bilibili | 哔哩哔哩 (゜-゜)つロ 干杯~-bilibili | ✓ | ||
Dilidili | http://www.dilidili.com/ | ✓ | ||
豆瓣 | 豆瓣 | ✓ | ||
斗鱼 | 斗鱼 - 每个人的直播平台 | ✓ | ||
凤凰视频 | 凤凰视频首页-最具媒体价值的视频门户-凤凰网 | ✓ | ||
风行网 | 风行-新一代平台 | ✓ | ||
iQIYI | 爱奇艺-在线视频网站-海量正版高清视频在线观看 | ✓ | ||
激动网 | 激动网 | ✓ | ||
酷6网 | 酷6网 | ✓ | ||
酷狗音乐 | 酷狗音乐 - 就是歌多!小说相声也很多! | ✓ | ||
酷我音乐 | 酷我音乐-无损音质正版在线试听网站 | ✓ | ||
乐视网 | http://www.letv.com/ | ✓ | ||
荔枝FM | 有声小说相声评书脱口秀广播剧听书直播FM-荔枝 | ✓ | ||
秒拍 | http://www.miaopai.com/ | ✓ | ||
MioMio弹幕网 | http://www.miomio.tv/ | ✓ | ||
痞客邦 | https://www.pixnet.net/ | ✓ | ||
PPTV聚力 | 首页 | ✓ | ||
齐鲁网 | 山东网络台_齐鲁网_山东广播电视台主办 | ✓ | ||
QQ | 腾讯视频 - 中国领先的在线视频媒体平台,海量高清视频在线观看 | ✓ | ||
阡陌视频 | http://qianmo.com/ | ✓ | ||
Sina | 新浪视频_高清视频在线观看_新浪网 | ✓ | ||
Sohu | 搜狐视频-中国领先的综合视频网站,正版高清视频在线观看,原创视频上传,全网视频搜索 | ✓ | ||
天天动听 | http://www.dongting.com/ | ✓ | ||
Tudou | http://www.tudou.com/ | ✓ | ||
虾米 | 音螺·数字音乐新场景 | ✓ | ||
阳光卫视 | http://www.isuntv.com/ | ✓ | ||
音悦Tai | 音悦Tai-看好音乐 | ✓ | ||
Youku | http://www.youku.com/ | ✓ | ||
战旗TV | 在线直播_全部游戏直播_网络游戏直播 - 战旗直播 | ✓ | ||
央视网 | China Central Television | ✓ |