这个是逗比根据地的备份镜像站(非官方)。牢记域名: [doubibackup.com]。搜索:标签云
投稿文章 | 广告合作 | Telegram 群组 / 公告频道 / 使用教程
广告

一个很方便的视频/音频等 命令行下载工具 —— You-Get 安装使用教程

逗比软件 Toyo 24评论
广告
本文最后更新于 2018年9月20日 20:04 可能会因为没有更新而失效。如已失效或需要修正,请留言!

You-Get是一个小型的命令行下载工具,用于从Web上下载媒体内容(视频,音频,图像)。

安装和使用都很简单,并且支持数十种国内外视频音频网站,如 YouTube、Tumblr、Instagram、YouKu(优酷)、网易云音乐、bilibili等(点击查看支持的完整网站列表)。

注意:下载国内的视频/音频网站,需要国内服务器,或者国外服务器挂国内代理才能下载,否则会提示版权问题。而VIP视频亲测只能下载前几分钟。

本教程安装方法仅适用于 Debian7 / 8 系统,其他系统安装方法请自行了解。

Github:https://github.com/soimort/you-get

安装步骤

安装依赖

You-Get 安装依赖:

  1. Python3(Python2 不支持)
  2. FFmpeg(用于合并视频与音频,一些1080P以上的视频与音频是分开的)

为了避免安装出错,请确保你是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格式的视频。

点击展开 查看输出示例

下载任何文件

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 安装使用教程
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!

赞 (38)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(24)个小伙伴在吐槽
  1. 不支持下载付费的视频的,爱奇艺禁止下载的视频还有没有办法下载?
    m2018-08-12 17:10 回复
  2. 您好,Windows上下载完成之后无法合并文件怎么办,是不是要安装ffmpeg之类的东西?
    爱的温度2017-10-15 22:50 回复
  3. 貌似卸载命令没用
    xsj2017-09-04 23:38 回复
  4. 最近抓youku 提示无权播放201,无语,Linux 和Windows7 都如此。你们也这样吗
    Kevinkm2017-07-02 16:38 回复
  5. 有网站能提供油管视频转换地址下载的,岂不更方便?
    啫喱2017-07-02 01:24 回复
  6. apt-get update E: Type '--2017-06-03' is not known on line 1 in source list /etc/apt/sources.list E: The list of sources could not be read. 这是什么提示啊 小白换了两个vps都是这样的
    jing2017-06-04 06:42 回复
    • 源的问题,参考这个页面,更换源:https://softs.host/?dir=Bash/sources
      Toyo2017-06-04 11:29 回复
      • you-get: [error] oops, the current environment does not seem to support Unicode.
        you-get: please set it to a UTF-8-aware locale first,
        you-get: so as to save the video (with some Unicode characters) correctly.
        you-get: you can do it like this:
        you-get:     (Windows)    % chcp 65001
        you-get:     (Linux)      $ LC_CTYPE=en_US.UTF-8
        
        我安装了 en US.UTF-8啊还是提示我这个
        jing93102017-06-05 02:02 回复
      • 这个问题,我不换源,也成功安装了。用locale安装了utf-8也提示我上面这个 -.-
        jing93102017-06-05 02:17 回复
      • [email protected]:~# locale
        LANG=en_US.UTF-8
        LANGUAGE=
        LC_CTYPE="en_US.UTF-8"
        LC_NUMERIC="en_US.UTF-8"
        LC_TIME="en_US.UTF-8"
        LC_COLLATE="en_US.UTF-8"
        LC_MONETARY="en_US.UTF-8"
        LC_MESSAGES="en_US.UTF-8"
        明明是utf8啊~~~~
        jing93102017-06-05 03:17 回复
        • 这是我当初写这个软件测试用的VPS的编码:
          [email protected]:~# locale
          LANG=en_US.UTF-8
          LANGUAGE=
          LC_CTYPE="en_US.UTF-8"
          LC_NUMERIC="en_US.UTF-8"
          LC_TIME="en_US.UTF-8"
          LC_COLLATE="en_US.UTF-8"
          LC_MONETARY="en_US.UTF-8"
          LC_MESSAGES="en_US.UTF-8"
          LC_PAPER="en_US.UTF-8"
          LC_NAME="en_US.UTF-8"
          LC_ADDRESS="en_US.UTF-8"
          LC_TELEPHONE="en_US.UTF-8"
          LC_MEASUREMENT="en_US.UTF-8"
          LC_IDENTIFICATION="en_US.UTF-8"
          LC_ALL=
          
          Toyo2017-06-05 12:18 回复
  7. There is no public key available for the following key IDs:9D6D8F6*******6 W: Ignoring Provides line with DepCompareOp for package python-cffi-backend-api-max W: Ignoring Provides line with DepCompareOp for package python-cffi-backend-api-min W: Ignoring Provides line with DepCompareOp for package python3-cffi-backend-api-max W: Ignoring Provides line with DepCompareOp for package python3-cffi-backend-api-min W: Ignoring Provides line with DepCompareOp for package sagenb-export W: Ignoring Provides line with DepCompareOp for package sagenb-export W: Ignoring Provides line with DepCompareOp for package python-cffi-backend-api-max W: Ignoring Provides line with DepCompareOp for package python-cffi-backend-api-min W: Ignoring Provides line with DepCompareOp for package python3-cffi-backend-api-max W: Ignoring Provides line with DepCompareOp for package python3-cffi-backend-api-min 大佬怎么解决啊 :oops:
    SGlace2017-05-17 11:50 回复
    • 这个不是很清楚,是 apt-get update 提示的?如果是的话继续执行代码试试。
      Toyo2017-05-17 12:27 回复
  8. you-get: [error] oops, the current environment does not seem to support Unicode. you-get: please set it to a UTF-8-aware locale first, you-get: so as to save the video (with some Unicode characters) correctly. you-get: you can do it like this: you-get: (Windows) % chcp 65001 you-get: (Linux) $ LC_CTYPE=en_US.UTF-8 这情况不知道怎么解决 :eek:
    Justin2017-05-14 16:32 回复
    • 貌似是你环境问题,不支持Unicode
      kurokitomoko2017-05-15 23:59 回复
  9. 试试看能不能拖百度云
    南琴浪2017-05-14 06:43 回复
  10. 这是软件可以pip安装
    luolicon2017-05-14 00:27 回复
    • 是可以pip安装但需要 pip3,所以直接Python3 setup.py安装就行了,可以省略几个步骤,否则还需要安装pip3,才能再去安装you-get。
      Toyo2017-05-14 09:10 回复
  11. 就下载YouTube视频来说,还是YouTube-dl更给力
    Doge20172017-05-12 20:01 回复
    • 这倒是,毕竟 youtube-dl 是专门针对 youtube视频下载的,而这个 you-get 是面向大量网站的。
      Toyo2017-05-12 20:31 回复
      • youtube-dl早已不针对YouTube,且目前youtube-dl支持的网站更加多。
        RainSlide2017-05-26 11:27 回复
        • 我网站的很多软件教程除了写教程的那时候,后来我基本就没再用过。
          Toyo2017-05-26 12:18 回复
  12. 要是有前端就好。。。
    kurokitomoko2017-05-12 19:39 回复
  13. 紧紧跟随偷油大大的步伐......沙发......
    测试者2017-05-12 18:42 回复