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

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 ,具体可以看这里 逗比云

 
 
  1. mv /etc/apt/sources.list /etc/apt/sources.list.bak && wget -N --no-check-certificate -O "/etc/apt/sources.list" "https://softs.loan/Bash/sources/us.sources.list"

然后我们更新软件包列表,并开始安装依赖。

 
 
  1. apt-get update
  2. apt-get install python3 python3-setuptools ffmpeg unzip -y

安装后,使用下面的命令查看 python3 和 ffmpeg 是否安装正常。

 
 
  1. python3 -V
  2. ffmpeg -version
  3. # 输出版本号属于正常,如果提示命令不存在 -bash: xxx: command not found ,即代表安装失败

确定依赖安装正常后(如果出错请不要继续),我们就可以安装 You-Get 了。

安装 You-Get

 
 
  1. wget -N --no-check-certificate https://github.com/soimort/you-get/archive/master.zip
  2. # 下载 You-Get文件
  3. unzip master.zip
  4. # 解压压缩包
  5. cd you-get-master
  6. # 进入解压后的文件夹
  7. python3 setup.py install
  8. # 使用 python3 安装 You-Get,注意安装的时候,正常情况下是没有反应的。

安装后如果没有报错,那么查看一下 You-Get 的版本,确保安装正常。

 
 
  1. you-get -V
  2. # 提示类似于:you-get: version 0.x.xxxx, a tiny downloader that scrapes the web.

如果 You-Get 安装正常,那么就可以把安装用的文件删除了。

注意:如果你想要卸载 You-Get ,那么你还需要这些文件用于卸载,那么你就不能执行下面的删除安装文件步骤,如果不在意那么可以删除。
 
 
  1. cd ..
  2. rm -rf master.zip && rm -rf you-get-master

使用方法

我们以这个 Youtube视频为例:

 
 
  1. https://www.youtube.com/watch?v=TJlwPUo7-T8

使用须知:You-Get 的参数命令格式必须是 you-get [参数] [网址URL] 网址URL 必须放在最后面,各参数 必须放在 网址URL的前面,否则参数会被 You-Get 忽略!

下载视频

下载视频前,我们可以加上 -i 参数,可以显示出视频的所有的格式,示例如下:

 
 
  1. you-get -i https://www.youtube.com/watch?v=TJlwPUo7-T8

然后我们可以看到一大串的输出,其中标明了视频名称、下载ID、视频/音频/图像格式、视频分辨率、文件大小等信息。

其中我们可以看到下列示例中有两部分,上面是视频,最下面没有写视频分辨率是音频(默认不用选)。在一些视频网站中通常1080P及以上分辨率的视频为了方便,会把视频和音频分离开,所以我们才需要 ffmpeg来最后合并视频与音频。

在格式列表中 [ DASH ] 指的是质量最高的视频(音频/图像),而 [ DEFAULT ] 则是默认下载的视频(音频/图像),如果不指定要下载的格式ID,那么会下载 [ DEFAULT ] 视频。

注意:经过测试,目前支持HTML5的浏览器,只能播放 webm和mp4格式的视频,但是 ffmpeg只能合并 mp4格式的视频,所以建议下载 mp4格式的视频。

点击展开 查看输出示例

 
  
  1. site: YouTube
  2. title: [HD] G.E.M. 鄧紫棋 - 紅薔薇白玫瑰 @ 蓋世英雄
  3. streams: # Available quality and codecs
  4. [ DASH ] ____________________________________
  5. - itag: 137
  6. container: mp4
  7. quality: 1920x1080
  8. size: 129.7 MiB (136051615 bytes)
  9. # download-with: you-get --itag=137 [URL]
  10.  
  11. - itag: 248
  12. container: webm
  13. quality: 1920x1080
  14. size: 106.9 MiB (112094567 bytes)
  15. # download-with: you-get --itag=248 [URL]
  16.  
  17. - itag: 136
  18. container: mp4
  19. quality: 1280x720
  20. size: 72.0 MiB (75526044 bytes)
  21. # download-with: you-get --itag=136 [URL]
  22.  
  23. - itag: 247
  24. container: webm
  25. quality: 1280x720
  26. size: 61.5 MiB (64466354 bytes)
  27. # download-with: you-get --itag=247 [URL]
  28.  
  29. - itag: 135
  30. container: mp4
  31. quality: 854x480
  32. size: 39.5 MiB (41419589 bytes)
  33. # download-with: you-get --itag=135 [URL]
  34.  
  35. - itag: 244
  36. container: webm
  37. quality: 854x480
  38. size: 33.4 MiB (34974794 bytes)
  39. # download-with: you-get --itag=244 [URL]
  40. ......
  41. ...
  42. [ DEFAULT ] _________________________________
  43. - itag: 22
  44. container: mp4
  45. quality: hd720
  46. size: 72.0 MiB (75511170 bytes)
  47. # download-with: you-get --itag=22 [URL]
  48.  
  49. - itag: 43
  50. container: webm
  51. quality: medium
  52. # download-with: you-get --itag=43 [URL]
  53.  
  54. - itag: 18
  55. container: mp4
  56. quality: medium
  57. # download-with: you-get --itag=18 [URL]
  58.  
  59. - itag: 36
  60. container: 3gp
  61. quality: small
  62. # download-with: you-get --itag=36 [URL]
  63. ......
  64. ...

例如要下载质量最高的那个视频,那么我们可以这样写:

 
  
  1. you-get --itag=137 https://www.youtube.com/watch?v=TJlwPUo7-T8

如果视频包含了隐藏字幕(如Youtube),那么会自动以 .srt 格式下载下来。

当然你也可以为了批量下载而省力什么参数都不加,直接 you-get 网址URL 也行,会自动下载默认的 [ DEFAULT ] 视频,如:

 
  
  1. you-get https://www.youtube.com/watch?v=TJlwPUo7-T8

下载任何文件

You-Get 除了可以下载视频以外,音频、图像都是可以下载的,如下载网页中的图片链接:

 
 
  1. you-get https://stallman.org/rms.jpg
  2. # 输出如下:
  3. Site: stallman.org
  4. Title: rms
  5. Type: JPEG Image (image/jpeg)
  6. Size: 0.06 MiB (66482 Bytes)
  7. ...

当然如果你不想一个个去指定下载,那么可以直接写网页地址即可,You-Get 会把页面内的所有可下载的 视频/音频/图像 都下载下来,如:

 
 
  1. you-get -u http://kopasas.tumblr.com/post/69361932517
  2. # 输出如下:
  3. Site: Tumblr.com
  4. Title: kopasas
  5. Type: Unknown type (None)
  6. Size: 0.51 MiB (536583 Bytes)
  7.  
  8. Site: Tumblr.com
  9. Title: tumblr_mxhg13jx4n1sftq6do1_1280
  10. Type: Portable Network Graphics (image/png)
  11. Size: 0.51 MiB (536583 Bytes)
  12. ...

我们可以看到这个网页里包含一个可下载的 png 图片文件, You-Get 会自动去下载这个图片文件。

但是如果你不想把这个页面里的所有 视频/音频/图像 都下载下来怎么办?

没事,我们可以用 -u 参数来先把指定网页内的可下载资源全都提取显示出来

提取可下载资源

加上 -u 参数后,You-Get 不会直接开始下载网页内的可下载资源,而是会把可以下载的资源信息及URL列出来,我们可以根据需求来下载。

 
 
  1. you-get -u http://kopasas.tumblr.com/post/69361932517
  2. # 输出如下:
  3. Site: Tumblr.com
  4. Title: kopasas
  5. Type: Unknown type (None)
  6. Size: 0.51 MiB (536583 Bytes)
  7.  
  8. Site: Tumblr.com
  9. Title: tumblr_mxhg13jx4n1sftq6do1_1280
  10. Type: Portable Network Graphics (image/png)
  11. Size: 0.51 MiB (536583 Bytes)
  12.  
  13. Real URLs:
  14. http://68.media.tumblr.com/7a69c1fb277d8d37bd9e84cd453fd28c/tumblr_mxhg13jx4n1sftq6do1_1280.png

暂停和继续下载

当我们需要暂停下载怎么办?

我们只需要在下载过程中按 Ctrl + C 键,即可暂停You-Get的下载。当然下载暂停时,文件会以 xxxx.xxx.download 命名保存。

即使你是在下载过程中,SSH断开 导致下载中断,也会以 .download 后缀格式保存下载信息。

当你想要继续下载的时候,只需要执行和一开始下载的时候一模一样的命令即可,当文件下载完成后,就不再会以 .download 格式结尾命名了,这时候如果再去下载这个文件会提示文件已存在,从而跳过下载。

当你想要强制覆盖/强制重新下载文件的时候,可以加上 -f 参数,如:

 
 
  1. you-get -f https://www.youtube.com/watch?v=TJlwPUo7-T8

设置下载文件的目录和文件名

默认You-Get会把要下载的文件统统下载到当前目录中,但是你想要下载到指定目录中,那么可以用 -o 参数,或者需要自定义下载后的文件名,那么可以用 -O 参数,如:

 
 
  1. 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视频防盗和广告防屏蔽技术是一流的”。

点击展开 查看更多

网站 URL 支持视频 ? 支持图像 ? 支持音频 ?
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/    
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.tv/    
Baidu
百度贴吧
http://tieba.baidu.com/  
爆米花网 http://www.baomihua.com/    
bilibili
哔哩哔哩
http://www.bilibili.com/    
Dilidili http://www.dilidili.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/    
花瓣 http://huaban.com/    
Naver
네이버
http://tvcast.naver.com/    
芒果TV http://www.mgtv.com/    
火猫TV http://www.huomao.com/    
全民Tv http://www.quanmin.tv/  

更新 You-Get

只需要执行下面这个命令,You-Get 就会自动检测升级。

 
 
  1. you-get https://github.com/soimort/you-get/archive/master.zip

卸载 You-Get

卸载 You-Get 还需要当初安装 You-Get的文件,如果你已经删除了,那么你按照上面的步骤重新下载解压文件即可。

我们进入文件夹并运行卸载命令。

 
 
  1. cd you-get-master
  2. python3 setup.py uninstall

更多使用方法可以看:Github 官方教程:https://github.com/soimort/you-get

转自  逗比软件

猜你喜欢

转载自blog.csdn.net/jiang314/article/details/80771470