栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python实现you-get视频音乐下载

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python实现you-get视频音乐下载

最近想下载视频和音乐资源,但是却无法下载,这可苦恼了我。

于是我一通操作,找到了门路来实现视频和音乐的下载,下面跟着我操作吧!

主角就是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 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:pythonProjectaz0bv-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, 'nn视频下载中......nn')
                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])}nn']:
                #     stext.insert(END, line)
                # stext.insert(END, '视频下载完成!nn')
                # stext.insert(END, '='*60,'nn')
                msgbox.showinfo(title='Info', message='视频下载完成!')
                # 使滚动文本框的滚动条始终保持在最底段
                # stext.yview_moveto(1)
            except:
                # stext.insert(END, 'nn该视频不支持下载!nn')
                # stext.insert(END, '=' * 60, 'nn')
                msgbox.showerror(title='Error', message='该视频不支持下载!')
        else:
            # stext.insert(END, 'nn视频保存地址错误!nn')
            # stext.insert(END, '=' * 60, 'nn')
            msgbox.showerror(title='Error', message='视频保存地址错误!')
    else:
        # stext.insert(END, 'nn视频链接错误!nn')
        # stext.insert(END, '=' * 60, 'nn')
        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视频?图像?音频?
YouTubehttps://www.youtube.com/
Twitterhttps://twitter.com/
VK欢迎来到 VK | VK
Vinehttps://vine.co/
Vimeohttps://vimeo.com/
Vidtovidto.me
Veohhttp://www.veoh.com/
Tumblrhttps://www.tumblr.com/
TEDTED: Ideas Worth Spreading
SoundCloudhttps://soundcloud.com/
Pinteresthttps://www.pinterest.com/
MusicPlayOnhttp://en.musicplayon.com/
MTV81MTV Japan
Mixcloudhttps://www.mixcloud.com/
metacafeVideosHub | Popular Internet Videos
Magistoonline Video Editor | Smart Video Maker by Magisto
Khan AcademyKhan Academy | Free online Courses, Lessons & Practice
JPopsuki TVhttp://www.jpopsuki.tv/
Internet Archivehttps://archive.org/
Instagramhttps://instagram.com/
Heavy Music Archiveιlιlι Heavy Music Archive
Google+https://plus.google.com/
Freesoundhttp://www.freesound.org/
Flickrhttps://www.flickr.com/
Facebookhttps://www.facebook.com/
eHowhttp://www.ehow.com/
Dailymotionhttp://www.dailymotion.com/
CBSCBS TV Network Primetime, Daytime, Late Night and Classic Television Shows
Bandcamphttp://bandcamp.com/
AliveThaihttp://alive.in.th/
interest.meNO.1 K콘텐츠 채널, 즐거움엔 tvN
755
ナナゴーゴー
新感覚SNS | 755
niconico
ニコニコ動画
http://www.nicovideo.jp/
163
网易视频
网易云音乐
网易直播
网易云音乐
56网56视频首页
AcFunhttp://www.acfun.tv/
Baidu
百度贴吧
百度贴吧——全球领先的中文社区
爆米花网爆米花网--爆出精彩视界
bilibili
哔哩哔哩
哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
Dilidilihttp://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
新浪视频
微博秒拍视频
新浪视频_高清视频在线观看_新浪网
http://video.weibo.com/
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
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/487620.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号