大家好,我是Python进阶者。
前言
You-Get是什么?相信有很多人,应该还不知道它的来历,其实它就是一款支持众多网站视频下载的神器,既可以在命令提示符中操作,也可以在Python代码中运行,跟现在的很多模块都一样,下面我们来看一下它的具体用法吧。
一、安装
你可以选择在命令提示符使用Pip安装You-Get模块,也可以下载You-Get应用程序并安装。
安装模块:
pip install you-get
安装好之后,我们可以先看看它的版本号:
它本身支持的下载视频网站是十分多的,如图所示:
可以看到,支持很多视频,Facebook也在其中之一。
二、基本用法
1.基本命令
通过在命令提示符中输入you-get ,我们来看看它有哪些的实用功能:
可选参数: -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形式来显示,具体结果如下:
C:\Program Files (x86)\DAUM\PotPlayer>You-Get --json https://www.bilibili.com/video/BV1N5411x7gf/site: Bilibilititle: 无法超越的三个燃动作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.6Real URLs:http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/43/20/195842043/195842043-1-30032.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1590653191&gen=playurl&os=cosbv&oi=0&trid=a6b3a442c80345628e84620cfaeb0043u&platform=pc&upsig=a39c73b52d9972bf353dfcbf548d4fd3&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=0&orderid=0,1&logo=80000000http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/43/20/195842043/195842043-1-30280.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1590653191&gen=playurl&os=cosbv&oi=0&trid=a6b3a442c80345628e84620cfaeb0043u&platform=pc&upsig=4232cc3b6b2efe8bc20b8b8b171ed2ce&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=0&orderid=0,1&logo=80000000 C:\Program Files (x86)\DAUM\PotPlayer>You-Get --json https://www.bilibili.com/video/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/195842043/195842043-1-64.flv?e=ig8euxZM2rNcNbNH7zUVhoMgnWuBhwdEto8g5X10ugNcXBlqNxHxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNC8xNEVE9EKE9IMvXBvE2ENvNCImNEVEK9GVqJIwqa80WXIekXRE9IMvXBvEuENvNCImNEVEua6m2jIxux0CkF6s2JZv5x0DQJZY2F8SkXKE9IB5QK==&deadline=1590653296&gen=playurl&nbs=1&oi=1862376489&os=bcache&platform=pc&trid=f5a8a893d80c4a94968417e759cd1378&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/195842043/195842043-1-32.flv?e=ig8euxZM2rNcNbhVhbUVhoMzhwNBhwdEto8g5X10ugNcXBlqNxHxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNC8xNEVE9EKE9IMvXBvE2ENvNCImNEVEK9GVqJIwqa80WXIekXRE9IMvXBvEuENvNCImNEVEua6m2jIxux0CkF6s2JZv5x0DQJZY2F8SkXKE9IB5QK==&deadline=1590653296&gen=playurl&nbs=1&oi=1862376489&os=bcache&platform=pc&trid=ecab993f655241a28a3fba70c3f1b63c&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/195842043/195842043-1-16.mp4?e=ig8euxZM2rNcNbRMhbUVhoM17wNBhwdEto8g5X10ugNcXBlqNxHxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNC8xNEVE9EKE9IMvXBvE2ENvNCImNEVEK9GVqJIwqa80WXIekXRE9IMvXBvEuENvNCImNEVEua6m2jIxux0CkF6s2JZv5x0DQJZY2F8SkXKE9IB5QK==&deadline=1590653296&gen=playurl&nbs=1&oi=1862376489&os=bcache&platform=pc&trid=1bc6f0ff38734f17af555299ba582fdc&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/195842043/195842043-1-30064.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=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/195842043/195842043-1-30280.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=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/195842043/195842043-1-30032.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=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/195842043/195842043-1-30280.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=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/195842043/195842043-1-30016.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=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/195842043/195842043-1-30216.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=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.36 (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很有可能面临暂时被封的封的风险,这个时候就需要我们使用代理了,常用的免费代理网站有西刺,可以使用它上面的免费代理来进行视频的下载,但是它的免费代理可用时间是有限制的,而且不稳定。所以,自求多福吧,希望不会在视频下到一半就出现拒绝访问的尴尬场面。代理下载视频的格式也是有简单:
You-Get -x host:post url
11.通过Cookie文件看视频
有很多视频不是我们一进网站就可以看的,有的需要登陆,那么这个时候就需要用到Cookie。操作也很简单,只需要将网页中的Cookie信息写入到文本文件中,然后再用You-Get读取Cookie即可,用法如下:
You-Get cookie.txt url
三、总结
You-Get的确是一个神器,功能强大,而且十分方便,有了它,基本上下载方面的事儿通通都搞定了。