You-Get是一个小型的命令行下载工具,用于从Web上下载媒体内容(视频,音频,图像)。
安装和使用都很简单,并且支持数十种国内外视频音频网站,如 YouTube、Tumblr、Instagram、YouKu(优酷)、网易云音乐、bilibili等(点击查看支持的完整网站列表)。
注意:下载国内的视频/音频网站,需要国内服务器,或者国外服务器挂国内代理才能下载,否则会提示版权问题。而VIP视频亲测只能下载前几分钟。
本教程安装方法仅适用于 Debian7 / 8 系统,其他系统安装方法请自行了解。
Github:https://github.com/soimort/you-get
安装步骤
安装依赖
You-Get 安装依赖:
为了避免安装出错,请确保你是ROOT管理员用户,或拥有ROOT权限,如果你不是ROOT用户,请使用 sudo su
来获取ROOT权限(执行后会让你输入一遍当前用户的密码)。
首先为了确保依赖安装正常、完整,我们需要更换系统 软件包源为最新的稳定源 jessie
(本步骤必做)。
默认下面的代码是 美国的镜像源,可以更换下面代码 us.sources.list 中的 us
,具体可以看这里。
mv /etc/apt/sources.list /etc/apt/sources.list.bak && wget -N --no-check-certificate -O "/etc/apt/sources.list" https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/sources/us.sources.list
然后我们更新软件包列表,并开始安装依赖。
apt-get update apt-get install python3 python3-setuptools ffmpeg unzip -y
安装后,使用下面的命令查看 python3 和 ffmpeg 是否安装正常。
python3 -V ffmpeg -version # 输出版本号属于正常,如果提示命令不存在 -bash: xxx: command not found ,即代表安装失败
确定依赖安装正常后(如果出错请不要继续),我们就可以安装 You-Get 了。
安装 You-Get
wget -N --no-check-certificate https://github.com/soimort/you-get/archive/master.zip # 下载 You-Get文件 unzip master.zip # 解压压缩包 cd you-get-master # 进入解压后的文件夹 python3 setup.py install # 使用 python3 安装 You-Get,注意安装的时候,正常情况下是没有反应的。
安装后如果没有报错,那么查看一下 You-Get 的版本,确保安装正常。
you-get -V # 提示类似于:you-get: version 0.x.xxxx, a tiny downloader that scrapes the web.
如果 You-Get 安装正常,那么就可以把安装用的文件删除了。
注意:如果你想要卸载 You-Get ,那么你还需要这些文件用于卸载,那么你就不能执行下面的删除安装文件步骤,如果不在意那么可以删除。
cd .. rm -rf master.zip && rm -rf you-get-master
使用方法
我们以这个 Youtube视频为例:
https://www.youtube.com/watch?v=TJlwPUo7-T8
使用须知:You-Get 的参数命令格式必须是 you-get [参数] [网址URL]
,网址URL 必须放在最后面,各参数 必须放在 网址URL的前面,否则参数会被 You-Get 忽略!
下载视频
下载视频前,我们可以加上 -i
参数,可以显示出视频的所有的格式,示例如下:
you-get -i https://www.youtube.com/watch?v=TJlwPUo7-T8
然后我们可以看到一大串的输出,其中标明了视频名称、下载ID、视频/音频/图像格式、视频分辨率、文件大小等信息。
其中我们可以看到下列示例中有两部分,上面是视频,最下面没有写视频分辨率是音频(默认不用选)。在一些视频网站中通常1080P及以上分辨率的视频为了方便,会把视频和音频分离开,所以我们才需要 ffmpeg来最后合并视频与音频。
在格式列表中 [ DASH ]
指的是质量最高的视频(音频/图像),而 [ DEFAULT ]
则是默认下载的视频(音频/图像),如果不指定要下载的格式ID,那么会下载 [ DEFAULT ]
视频。
注意:经过测试,目前支持HTML5的浏览器,只能播放 webm和mp4格式的视频,但是 ffmpeg只能合并 mp4格式的视频,所以建议下载 mp4格式的视频。
site: YouTube title: [HD] G.E.M. 鄧紫棋 - 紅薔薇白玫瑰 @ 蓋世英雄 streams: # Available quality and codecs [ DASH ] ____________________________________ - itag: 137 container: mp4 quality: 1920x1080 size: 129.7 MiB (136051615 bytes) # download-with: you-get --itag=137 [URL] - itag: 248 container: webm quality: 1920x1080 size: 106.9 MiB (112094567 bytes) # download-with: you-get --itag=248 [URL] - itag: 136 container: mp4 quality: 1280x720 size: 72.0 MiB (75526044 bytes) # download-with: you-get --itag=136 [URL] - itag: 247 container: webm quality: 1280x720 size: 61.5 MiB (64466354 bytes) # download-with: you-get --itag=247 [URL] - itag: 135 container: mp4 quality: 854x480 size: 39.5 MiB (41419589 bytes) # download-with: you-get --itag=135 [URL] - itag: 244 container: webm quality: 854x480 size: 33.4 MiB (34974794 bytes) # download-with: you-get --itag=244 [URL] ...... ... [ DEFAULT ] _________________________________ - itag: 22 container: mp4 quality: hd720 size: 72.0 MiB (75511170 bytes) # download-with: you-get --itag=22 [URL] - itag: 43 container: webm quality: medium # download-with: you-get --itag=43 [URL] - itag: 18 container: mp4 quality: medium # download-with: you-get --itag=18 [URL] - itag: 36 container: 3gp quality: small # download-with: you-get --itag=36 [URL] ...... ...
例如要下载质量最高的那个视频,那么我们可以这样写:
you-get --itag=137 https://www.youtube.com/watch?v=TJlwPUo7-T8
如果视频包含了隐藏字幕(如Youtube),那么会自动以 .srt
格式下载下来。
当然你也可以为了批量下载而省力什么参数都不加,直接 you-get 网址URL
也行,会自动下载默认的 [ DEFAULT ]
视频,如:
you-get https://www.youtube.com/watch?v=TJlwPUo7-T8
下载任何文件
You-Get 除了可以下载视频以外,音频、图像都是可以下载的,如下载网页中的图片链接:
you-get https://stallman.org/rms.jpg # 输出如下: Site: stallman.org Title: rms Type: JPEG Image (image/jpeg) Size: 0.06 MiB (66482 Bytes) ...
当然如果你不想一个个去指定下载,那么可以直接写网页地址即可,You-Get 会把页面内的所有可下载的 视频/音频/图像 都下载下来,如:
you-get -u http://kopasas.tumblr.com/post/69361932517 # 输出如下: Site: Tumblr.com Title: kopasas Type: Unknown type (None) Size: 0.51 MiB (536583 Bytes) Site: Tumblr.com Title: tumblr_mxhg13jx4n1sftq6do1_1280 Type: Portable Network Graphics (image/png) Size: 0.51 MiB (536583 Bytes) ...
我们可以看到这个网页里包含一个可下载的 png 图片文件, You-Get 会自动去下载这个图片文件。
但是如果你不想把这个页面里的所有 视频/音频/图像 都下载下来怎么办?
没事,我们可以用 -u
参数来先把指定网页内的可下载资源全都提取显示出来
提取可下载资源
加上 -u
参数后,You-Get 不会直接开始下载网页内的可下载资源,而是会把可以下载的资源信息及URL列出来,我们可以根据需求来下载。
you-get -u http://kopasas.tumblr.com/post/69361932517 # 输出如下: Site: Tumblr.com Title: kopasas Type: Unknown type (None) Size: 0.51 MiB (536583 Bytes) Site: Tumblr.com Title: tumblr_mxhg13jx4n1sftq6do1_1280 Type: Portable Network Graphics (image/png) Size: 0.51 MiB (536583 Bytes) Real URLs: http://68.media.tumblr.com/7a69c1fb277d8d37bd9e84cd453fd28c/tumblr_mxhg13jx4n1sftq6do1_1280.png
暂停和继续下载
当我们需要暂停下载怎么办?
我们只需要在下载过程中按 Ctrl + C
键,即可暂停You-Get的下载。当然下载暂停时,文件会以 xxxx.xxx.download
命名保存。
即使你是在下载过程中,SSH断开 导致下载中断,也会以 .download
后缀格式保存下载信息。
当你想要继续下载的时候,只需要执行和一开始下载的时候一模一样的命令即可,当文件下载完成后,就不再会以 .download
格式结尾命名了,这时候如果再去下载这个文件会提示文件已存在,从而跳过下载。
当你想要强制覆盖/强制重新下载文件的时候,可以加上 -f
参数,如:
you-get -f https://www.youtube.com/watch?v=TJlwPUo7-T8
设置下载文件的目录和文件名
默认You-Get会把要下载的文件统统下载到当前目录中,但是你想要下载到指定目录中,那么可以用 -o
参数,或者需要自定义下载后的文件名,那么可以用 -O
参数,如:
you-get --itag=137 -o /home/www/xxx.xxx/Videos -O "Videos.mp4" https://www.youtube.com/watch?v=TJlwPUo7-T8
上面代码的意思是把 我下载的视频文件(格式ID 137),保存到 /home/www/xxx.xxx/Videos
目录,并以 Videos.mp4
命名文件名。
视频下载目录路径支持 绝对路径和相对路径,不过如果搞不懂的话,还是建议使用绝对路径,避免下载位置乱套。
支持的网站
注意:虽然 You-Get 支持国内的视频/音频网站,但是国内的视频/音频网站需要用国内服务器或使用国内代理才能下载,否则会被版权阻拦。同时对于一些VIP视频支持并不好,毕竟国内视频网站的“VIP视频防盗和广告防屏蔽技术是一流的”。
更新 You-Get
只需要执行下面这个命令,You-Get 就会自动检测升级。
you-get https://github.com/soimort/you-get/archive/master.zip
卸载 You-Get
卸载 You-Get 还需要当初安装 You-Get的文件,如果你已经删除了,那么你按照上面的步骤重新下载解压文件即可。
我们进入文件夹并运行卸载命令。
cd you-get-master python3 setup.py uninstall
更多使用方法可以看:Github 官方教程:https://github.com/soimort/you-get
转载请超链接注明:月下博客 » 一个很方便的视频/音频等 命令行下载工具 —— You-Get 安装使用教程
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!