You-Get 就是这么强势! (文末赠书)

2021-09-14 16:12:45 浏览数 (1)

大家好,我是Python进阶者。

前言

You-Get是什么?相信有很多人,应该还不知道它的来历,其实它就是一款支持众多网站视频下载的神器,既可以在命令提示符中操作,也可以在Python代码中运行,跟现在的很多模块都一样,下面我们来看一下它的具体用法吧。

一、安装

你可以选择在命令提示符使用Pip安装You-Get模块,也可以下载You-Get应用程序并安装。

安装模块:

代码语言:javascript复制
pip install you-get

安装好之后,我们可以先看看它的版本号:

它本身支持的下载视频网站是十分多的,如图所示:

可以看到,支持很多视频,Facebook也在其中之一。

二、基本用法

1.基本命令

通过在命令提示符中输入you-get ,我们来看看它有哪些的实用功能:

代码语言:javascript复制
 可选参数:
  -V, --version         打印版本并退出
  -h, --help            打印帮助消息并退出

  即将运行的选项:
  (没有实际下载)
  -i, --info            打印提取信息
  -u, --url             打印提取url信息
  --json                打印提取以json格式的url

  下载选项:
  -n, --no-merge                      不合并视频部分
  --no-caption                        不下载标题(字幕、歌词、danmaku…)
  -f, --force                         覆盖现有的文件
  --skip-existing-file-size-check     跳过现有文件没有检查文件大小
  -F STREAM_ID, --format STREAM_ID    视频格式设置为STREAM_ID
  -O FILE, --output-filename FILE     设置输出文件名             
  -o DIR, --output-dir DIR            设置输出目录
  -p PLAYER, --player PLAYER          提取URl中的流并播放
  -c COOKIES_FILE, --cookies COOKIES_FILE  加载cookie.txt或cookies.sqlite                
  -t SECONDS, --timeout SECONDS       设置套接字超时                 
  -d, --debug                         调试显示回溯和其它调试信息
  -I FILE, --input-file FILE          仅下载链接的视频不下载列表          
  -P PASSWORD, --password PASSWORD    设置视频密码访问密码
  -l, --playlist                      优先下载播放列表
  -a, --auto-rename                   自动重命名相同的名称不同的文件
  -k, --insecure                      忽略ssl错误

代理选项:
  -x HOST:PORT, --http-proxy HOST:PORT            对下载使用HTTP代理
  -y HOST:PORT, --extractor-proxy HOST:PORT       只使用一个HTTP代理提取
  --no-proxy                                      从不使用代理
  -s HOST:PORT, --socks-proxy HOST:PORT           使用socket代理下载

以上便是You-Get所有的命令行参数了,下面我们来具体看看吧。

2.查看视频信息

我们以哔哩哔哩某个视频为主:

我们先来看下这个视频的信息:

我们可以看到有很多信息,其中有视频的标题,格式,大小,清晰度等。除此之外,还可以查看Url的具体地址:

如果你觉得不够美观,还可以使用Json形式来显示,具体结果如下:

代码语言:javascript复制
C:Program Files (x86)DAUMPotPlayer>You-Get --json https://www.bilibili.com/video/
BV1N5411x7gf/
site:                Bilibili
title:               无法超越的三个燃动作
stream:
    - format:        dash-flv480
      container:     mp4
      quality:       清晰 480P
      size:          2.8 MiB (2953276 bytes)
    # download-with: You-Get --format=dash-flv480 [URL]

User Agent: Python-urllib/3.6
Real URLs:
http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/43/20/195842043/195842043-1-300
32.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8
gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7
MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1590653191&gen=p
layurl&os=cosbv&oi=0&trid=a6b3a442c80345628e84620cfaeb0043u&platform=pc&upsig=a3
9c73b52d9972bf353dfcbf548d4fd3&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platfo
rm&mid=0&orderid=0,1&logo=80000000
http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/43/20/195842043/195842043-1-302
80.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8
gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7
MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1590653191&gen=p
layurl&os=cosbv&oi=0&trid=a6b3a442c80345628e84620cfaeb0043u&platform=pc&upsig=42
32cc3b6b2efe8bc20b8b8b171ed2ce&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platfo
rm&mid=0&orderid=0,1&logo=80000000

C:Program Files (x86)DAUMPotPlayer>You-Get --json https://www.bilibili.com/vi
deo/BV1N5411x7gf/
{
    "url": "https://www.bilibili.com/video/BV1N5411x7gf/",
    "title": "无法超越的三个燃动作",
    "site": "Bilibili",
    "streams": {
        "flv720": {
            "container": "flv",
            "quality": "高清 720P",
            "size": 2940926,
            "src": [
                "http://cn-hbsjz2-cmcc-bcache-12.bilivideo.com/upgcxcode/43/20/1
95842043/195842043-1-64.flv?e=ig8euxZM2rNcNbNH7zUVhoMgnWuBhwdEto8g5X10ugNcXBlqNx
HxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNC8xNEVE9EKE9IMvXBvE2ENvNCImNEVEK9GVqJIwqa
80WXIekXRE9IMvXBvEuENvNCImNEVEua6m2jIxux0CkF6s2JZv5x0DQJZY2F8SkXKE9IB5QK==&deadl
ine=1590653296&gen=playurl&nbs=1&oi=1862376489&os=bcache&platform=pc&trid=f5a8a8
93d80c4a94968417e759cd1378&uipk=5&upsig=cdf717ed1b6aad03f05ab9c430838e1d&uparams
=e,deadline,gen,nbs,oi,os,platform,trid,uipk&mid=0"
            ]
        },
        "flv480": {
            "container": "flv",
            "quality": "清晰 480P",
            "size": 2969098,
            "src": [
                "http://cn-hbsjz2-cmcc-bcache-14.bilivideo.com/upgcxcode/43/20/1
95842043/195842043-1-32.flv?e=ig8euxZM2rNcNbhVhbUVhoMzhwNBhwdEto8g5X10ugNcXBlqNx
HxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNC8xNEVE9EKE9IMvXBvE2ENvNCImNEVEK9GVqJIwqa
80WXIekXRE9IMvXBvEuENvNCImNEVEua6m2jIxux0CkF6s2JZv5x0DQJZY2F8SkXKE9IB5QK==&deadl
ine=1590653296&gen=playurl&nbs=1&oi=1862376489&os=bcache&platform=pc&trid=ecab99
3f655241a28a3fba70c3f1b63c&uipk=5&upsig=2b86065e41b9105365206cfd9335ef01&uparams
=e,deadline,gen,nbs,oi,os,platform,trid,uipk&mid=0"
            ]
        },
        "flv360": {
            "container": "flv",
            "quality": "流畅 360P",
            "size": 1419499,
            "src": [
                "http://cn-hbsjz2-cmcc-bcache-07.bilivideo.com/upgcxcode/43/20/1
95842043/195842043-1-16.mp4?e=ig8euxZM2rNcNbRMhbUVhoM17wNBhwdEto8g5X10ugNcXBlqNx
HxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNC8xNEVE9EKE9IMvXBvE2ENvNCImNEVEK9GVqJIwqa
80WXIekXRE9IMvXBvEuENvNCImNEVEua6m2jIxux0CkF6s2JZv5x0DQJZY2F8SkXKE9IB5QK==&deadl
ine=1590653296&gen=playurl&nbs=1&oi=1862376489&os=bcache&platform=pc&trid=1bc6f0
ff38734f17af555299ba582fdc&uipk=5&upsig=fecb7363550829abd38ce95338bd9001&uparams
=e,deadline,gen,nbs,oi,os,platform,trid,uipk&mid=0"
            ]
        },
        "dash-flv720": {
            "container": "mp4",
            "quality": "高清 720P",
            "src": [
                [
                    "http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/43/20/1958
42043/195842043-1-30064.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0
GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0
B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&dead
line=1590653296&gen=playurl&os=cosbv&oi=0&trid=f2500098d3e94126b32b826aa4e3618eu
&platform=pc&upsig=bcc17b791e60d0c3af03187d7553559e&uparams=e,uipk,nbs,deadline,
gen,os,oi,trid,platform&mid=0&orderid=0,1&logo=80000000"
                ],
                [
                    "http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/43/20/1958
42043/195842043-1-30280.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0
GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0
B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&dead
line=1590653296&gen=playurl&os=cosbv&oi=0&trid=f2500098d3e94126b32b826aa4e3618eu
&platform=pc&upsig=bf8dd907f6798ea3521073e9026b0432&uparams=e,uipk,nbs,deadline,
gen,os,oi,trid,platform&mid=0&orderid=0,1&logo=80000000"
                ]
            ],
            "size": 2925104
        },
        "dash-flv480": {
            "container": "mp4",
            "quality": "清晰 480P",
            "src": [
                [
                    "http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/43/20/1958
42043/195842043-1-30032.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0
GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0
B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&dead
line=1590653296&gen=playurl&os=cosbv&oi=0&trid=f2500098d3e94126b32b826aa4e3618eu
&platform=pc&upsig=8058ecd313c5966e78fcd959494a6c0e&uparams=e,uipk,nbs,deadline,
gen,os,oi,trid,platform&mid=0&orderid=0,1&logo=80000000"
                ],
                [
                    "http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/43/20/1958
42043/195842043-1-30280.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0
GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0
B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&dead
line=1590653296&gen=playurl&os=cosbv&oi=0&trid=f2500098d3e94126b32b826aa4e3618eu
&platform=pc&upsig=bf8dd907f6798ea3521073e9026b0432&uparams=e,uipk,nbs,deadline,
gen,os,oi,trid,platform&mid=0&orderid=0,1&logo=80000000"
                ]
            ],
            "size": 2953276
        },
        "dash-flv360": {
            "container": "mp4",
            "quality": "流畅 360P",
            "src": [
                [
                    "http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/43/20/1958
42043/195842043-1-30016.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0
GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0
B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&dead
line=1590653296&gen=playurl&os=cosbv&oi=0&trid=f2500098d3e94126b32b826aa4e3618eu
&platform=pc&upsig=0fd2520985dd06dde73125c6791c09a0&uparams=e,uipk,nbs,deadline,
gen,os,oi,trid,platform&mid=0&orderid=0,1&logo=80000000"
                ],
                [
                    "http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/43/20/1958
42043/195842043-1-30216.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0
GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0
B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&dead
line=1590653296&gen=playurl&os=cosbv&oi=0&trid=f2500098d3e94126b32b826aa4e3618eu
&platform=pc&upsig=d8e2e202e8efd58c6674d14ecf8eb35e&uparams=e,uipk,nbs,deadline,
gen,os,oi,trid,platform&mid=0&orderid=0,1&logo=80000000"
                ]
            ],
            "size": 1405370
        }
    },
    "extra": {
        "referer": "https://www.bilibili.com/video/BV1N5411x7gf/",
        "ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.3
6 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"
    }

可以看到,所有的信息一览无余,可以说是很全面了。

3.下载指定格式的视频

我们喜欢哪个格式的视频就将它下载下来。比如我想下载Mp4格式的720p高清视频,可以这样做:

4.将视频下载到指定目录并修改文件名

如果你想指定下载的文件名和文件目录的话,可以这样操作:

5.播放在线视频

如果我们想要播放网页中的视频,那该怎么办了?答案也是相当简单,只需你在电脑上的本地视频播放器目录下(注:一定要是源程序位置,而不是快捷方式)打开Cmd窗口,然后输入命令,指定视频播放器播放网页视频即可:

6.Vip视频下载

You-Get最牛逼的技能就是它可以下载Vip视频,方法也很简单,直接使用You-Get 再加上Url即可。

7.弹幕文件

我们在观看哔哩哔哩的时候,可以看到一个视频会有很多弹幕,比如这种:

然后我们将这个视频下载下来,打开进行观看:

发现不像网页中有那么多弹幕,那么弹幕到哪里去了了。哦,原来它已经被我们下载下来了,随着Mp4文件一起下载下来了,只不过被放在了后缀为Xml的文件中,我们打开Xml文件看看:

在这里我要给大家推荐一个可以和哔哩哔哩一样可以看弹幕的视频播放器BililLocal。打开后选择原视频和Xml文件,

然后在选择播放按钮,

这样就可以播放带弹幕的视频了,是不是很有趣了。如果你想将弹幕文字保留下来,留作它用,你可以将它提取出来,至于提取方法嘛,自然是使用我们万能的正则表达式啦。

这样就得到了全部的弹幕了。

8.下载图片,音乐

You-Get除了可以下载视频,还有什么图片,音乐都可以下载的,只有我们想不到的,没有You-Get做不到的。

我们可以随便找一张图片,然后拿到它的Url地址,放到You-Get中下载。

随机选择一张图片,然后复制图片Url地址,然后进行下载:

可以看到,成功下载到了图片了。其实下载音乐也是很简单的,只需要把Url改为音频的Url即可,它可以进行自动解析,然后下载的。

9.批量下载

当我们在你哔哩哔哩看视频的时候,一个页面往往会有多个视频,这个时候我们一个一个的下载很显然太慢,可不可以一下子全部都下载了?答案当然是可以的。只需要使用--playlist参数即可,我们来看下:

随便打开一个Up主的视频,视频中必须带有多个章节视频,这样才方便我们测试。

可以看到已经下载到了第十二集了,速度可以说是相当的快了,最后,最后我们去桌面看看:

也是刚好下载了这么多。

10.代理下载

如果你访问过于频繁,Ip很有可能面临暂时被封的封的风险,这个时候就需要我们使用代理了,常用的免费代理网站有西刺,可以使用它上面的免费代理来进行视频的下载,但是它的免费代理可用时间是有限制的,而且不稳定。所以,自求多福吧,希望不会在视频下到一半就出现拒绝访问的尴尬场面。代理下载视频的格式也是有简单:

代码语言:javascript复制
You-Get -x host:post url

11.通过Cookie文件看视频

有很多视频不是我们一进网站就可以看的,有的需要登陆,那么这个时候就需要用到Cookie。操作也很简单,只需要将网页中的Cookie信息写入到文本文件中,然后再用You-Get读取Cookie即可,用法如下:

代码语言:javascript复制
You-Get cookie.txt url

三、总结

You-Get的确是一个神器,功能强大,而且十分方便,有了它,基本上下载方面的事儿通通都搞定了。

0 人点赞