学以致用

古之成大事者,不惟有超士之才,亦唯有坚韧不拔之志

You-Get – 支持 41+ 家国内外视频/音频网站的下载工具

You-Get是github上python的一个开源库(https://github.com/soimort/you-get),可以直接通过命令行来从Web页面上下载视频、音频、图片等。本文简要介绍其用法。使用you-get你只需要取得视频所在网页链接地址就可以很轻松的下载下来,目前you-get所支持的网站包含国内外几十个网站(youtube、twitter、腾讯、爱奇艺、优酷、bilibili等),基本上可以满足你的需求。

一、安装you-get

首先需要安装python3,至于怎么安装python3可以自行百度了,安装完python3后,使用以下命令安装you-get

pip install you-get

二,使用you-get

如果您的电脑已经安装了pycharm,那么可以直接使用这段代码,更改url既可以运行下载。

# !/usr/bin/env python
# -*-coding:utf-8-*-
"""
@Author  : leif
@Time    : 2019/08/208

"""
import sys
import you_get


def download(url, path):
    sys.argv = ['you-get', '-o', path, url]
    you_get.main()


if __name__ == '__main__':
    # 视频网站的地址
    url = 'https://v.youku.com/v_show/id_XNDMwNjUxMjQyOA==.html?spm=a2ha1.12675304.m_2574_c_9114.d_5&scm=20140719.rcmd.2574.video_XNDMwNjUxMjQyOA%3D%3D'
    # 视频输出的位置
    path = 'static'
    download(url, path)

如果没有,也没有关系,我们可以直接使用命令行来下载。
第一种最简单的方式:you-get url
例如:you-get  https://v.youku.com/v_show/id_XNDMwNjUxMjQyOA==.html?spm=a2ha1.12675304.m_2574_c_9114.d_5&scm=20140719.rcmd.2574.video_XNDMwNjUxMjQyOA%3D%3D
还有一些其他的详细参数,这里不介绍了,可以参考:github上的介绍了。

另外,还以打包生成一个GUI界面下载:

from tkinter import *
from tkinter import filedialog
from tkinter.scrolledtext import ScrolledText
import subprocess as sub
import threading

top = Tk()
top.title("video_down Power by tyty.xyz")

# 获取屏幕尺寸以计算布局参数,使窗口居屏幕中央,其中width和height为界面宽和高
width = 555
height = 519
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('static/video.png')

# 框架布局
frame_root = Frame(top)
frame_left = Frame(frame_root)
frame_right = Frame(frame_root)

frame_left.pack(side=LEFT)
frame_right.pack(side=RIGHT, anchor=N)
frame_root.pack()

# 输入视频链接
tip1 = Label(frame_left, text='请输入视频链接:         ', font=('楷体', 25))
tip1.pack(padx=10, anchor=W)
# 视频链接输入框
input_url = Entry(frame_left, bg='#F7F3EC')
input_url.pack(ipadx=159, ipady=8, padx=20, anchor=W)
# 请选择保存位置
tip2 = Label(frame_left, text='请选择保存位置:         ', font=('楷体', 25))
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   -o {save_address}   {url}'
    print(cmd)

    # 将cmd结果重定向到tkinterGUI,即将命令行的结果显示ScrolledText(滚动文本框)控件里
    p = sub.Popen(cmd, stdout=sub.PIPE, stderr=sub.PIPE)
    output, errors = p.communicate()
    output = output.decode('UTF-8')
    stext.insert(END, output)
    # 使滚动文本框的滚动条始终保持在最底段
    stext.yview_moveto(1)


# 为避免在下载时tkinter界面卡死,创建线程函数
def thread_it(func, *args):
    # 创建
    t = threading.Thread(target=func, args=args)
    # 守护 !!!
    t.setDaemon(True)
    # 启动
    t.start()


# “浏览文件夹”按钮
browse_folder_button = Button(frame_right, text='浏览', font=('楷体', 15), command=lambda: thread_it(browse_folder))
browse_folder_button.pack(pady=110, side=LEFT, anchor=W)
# 新建空白标签,无实际作用,内容为空,为了让界面对称,更美观,可理解为“占位符”
Label(frame_right, text='     ').pack(pady=110, side=LEFT, anchor=W)

# “下载”按钮
download_button = Button(frame_left, text='下载', font=('楷体', 15), command=lambda: thread_it(download))
download_button.pack(padx=20, pady=6, anchor=W)

# ScrolledText组件(滚动文本框)
stext = ScrolledText(frame_left, width=60, height=23, background='#F7F3EC')
stext.pack(padx=20, anchor=W)

top.mainloop()

最后,贴一下目前支持下载网站:

Site URL Videos? Images? Audios?
YouTube https://www.youtube.com/
Twitter https://twitter.com/
VK http://vk.com/
Vine https://vine.co/
Vimeo https://vimeo.com/
Vidto http://vidto.me/
Videomega http://videomega.tv/
Veoh http://www.veoh.com/
Tumblr https://www.tumblr.com/
TED http://www.ted.com/
SoundCloud https://soundcloud.com/
SHOWROOM https://www.showroom-live.com/
Pinterest https://www.pinterest.com/
MusicPlayOn http://en.musicplayon.com/
MTV81 http://www.mtv81.com/
Mixcloud https://www.mixcloud.com/
Metacafe http://www.metacafe.com/
Magisto http://www.magisto.com/
Khan Academy https://www.khanacademy.org/
Internet Archive https://archive.org/
Instagram https://instagram.com/
InfoQ http://www.infoq.com/presentations/
Imgur http://imgur.com/
Heavy Music Archive http://www.heavy-music.ru/
Google+ https://plus.google.com/
Freesound http://www.freesound.org/
Flickr https://www.flickr.com/
FC2 Video http://video.fc2.com/
Facebook https://www.facebook.com/
eHow http://www.ehow.com/
Dailymotion http://www.dailymotion.com/
Coub http://coub.com/
CBS http://www.cbs.com/
Bandcamp http://bandcamp.com/
AliveThai http://alive.in.th/
interest.me http://ch.interest.me/tvn
755
ナナゴーゴー
http://7gogo.jp/
niconico
ニコニコ動画
http://www.nicovideo.jp/
163
网易视频
网易云音乐
http://v.163.com/
http://music.163.com/
56网 http://www.56.com/
AcFun http://www.acfun.cn/
Baidu
百度贴吧
http://tieba.baidu.com/
爆米花网 http://www.baomihua.com/
bilibili
哔哩哔哩
http://www.bilibili.com/
豆瓣 http://www.douban.com/
斗鱼 http://www.douyutv.com/
Panda
熊猫
http://www.panda.tv/
凤凰视频 http://v.ifeng.com/
风行网 http://www.fun.tv/
iQIYI
爱奇艺
http://www.iqiyi.com/
激动网 http://www.joy.cn/
酷6网 http://www.ku6.com/
酷狗音乐 http://www.kugou.com/
酷我音乐 http://www.kuwo.cn/
乐视网 http://www.le.com/
荔枝FM http://www.lizhi.fm/
秒拍 http://www.miaopai.com/
MioMio弹幕网 http://www.miomio.tv/
痞客邦 https://www.pixnet.net/
PPTV聚力 http://www.pptv.com/
齐鲁网 http://v.iqilu.com/
QQ
腾讯视频
http://v.qq.com/
企鹅直播 http://live.qq.com/
Sina
新浪视频
微博秒拍视频
http://video.sina.com.cn/
http://video.weibo.com/
Sohu
搜狐视频
http://tv.sohu.com/
Tudou
土豆
http://www.tudou.com/
虾米 http://www.xiami.com/
阳光卫视 http://www.isuntv.com/
音悦Tai http://www.yinyuetai.com/
Youku
优酷
http://www.youku.com/
战旗TV http://www.zhanqi.tv/lives
央视网 http://www.cntv.cn/
Naver
네이버
http://tvcast.naver.com/
芒果TV http://www.mgtv.com/
火猫TV http://www.huomao.com/
阳光宽频网 http://www.365yg.com/
西瓜视频 https://www.ixigua.com/
快手 https://www.kuaishou.com/
抖音 https://www.douyin.com/
TikTok https://www.tiktok.com/
中国体育(TV) http://v.zhibo.tv/
http://video.zhibo.tv/
知乎 https://www.zhihu.com/
点赞