万能视频下载利器You-Get
什么是You-Get?
You-Get 是一个轻量级的命令行程序,可以让我们便利地下载网络视频。据 官网文档介绍 ,它主要有以下几个功用:
- 下载流行网站的音视频,例如YouTube、Youku,、Niconico以及更多。
- 于您心仪的媒体播放器中观看在线视频,脱离浏览器与广告
- 下载您喜欢网页上的图片
- 下载任何非HTML内容,例如二进制文件
如何安装
在安装You-Get之前,请先确保你的本地系统已经具备了以下依赖:
如果你用的是OS X系统,可以参考下这篇文章。
安装好依赖后,我推荐使用 pip 安装You-Get的最新版:
pip install you-get
如果你用的是Windows系统,那么推荐安装预编译好的安装包,可以 从这个地址下载 。
https://github.com/soimort/you-get/releases/download/v0.4.652/you-get-0.4.652-win32-full.7z
You-Get 乃一小小哒命令行程序,提供便利的方式,下载网络上的富媒体信息。
利用 you-get 下载这个网页的视频:
$ you-get http://www.fsf.org/blogs/rms/20140407-geneva-tedx-talk-free-software-free-society Site: fsf.org Title: TEDxGE2014_Stallman05_LQ Type: WebM video (video/webm) Size: 27.12 MiB (28435804 Bytes) Downloading TEDxGE2014_Stallman05_LQ.webm ... 100.0% ( 27.1/27.1 MB) ├████████████████████████████████████████┤[1/1] 12 MB/s
为什么你要好好的用You-get:
- 你欢喜于互联网上的富媒体内容,并为个人寻欢而储存
- 你喜悦观看的视频,然而不得保存;对个人设备无从控制,此乃违背开放互联网之行为
- 你寻求解脱于闭源软件或JavaScript代码,并禁止Flash运行
- 你为黑客精神与自由软件而欣喜
You-get之功用:
- 下载流行网站之音视频,例如YouTube, Youku, Niconico,以及更多. (查看完整支持列表)
- 于您心仪的媒体播放器中观看在线视频,脱离浏览器与广告
- 下载您喜欢网页上的图片
- 下载任何非HTML内容,例如二进制文件
使用Python编程?敬请查看 源代码 并fork!
安装
绪论
以下乃必要依赖,需要单独安装,除非于Windows下使用预包装包:
选项 1: 通过pip安装
you-get 之官方版本通过PyPI分发, 可从PyPI镜像中通过pip 包管理器安装. 须知您务必使用版本3的 pip :
$ pip3 install you-get
选项 2: 使用预装包(仅供Windows)
exe(单独文件) 或 7z (包括所有依赖) 可从https://github.com/soimort/you-get/releases/latest 下载.
选项 3: 于GitHub下载
您可选择稳定版 (与PyPI最新版等同) 或 开发版 (更多的热补丁与不稳定功能)的 you-get . 解压并将含有you-get 的目录加入 PATH .
或者, 运行
$ make install
以安装 you-get 于永久路径.
选项 4: Git clone
即使您不常使用Python,作为开发者,也请使用此方法。
$ git clone git://github.com/soimort/you-get.git
将目录加入PATH , 或运 make install 以安装 you-get 于永久路径.
升级
考虑到 you-get 安装方法之差异, 请使用:
$ pip3 install --upgrade you-get
或下载最新更新:
$ you-get https://github.com/soimort/you-get/archive/master.zip
开始
下载视频
当观赏感兴趣之视频,您可以使用 --info/-i 以查看所有可用画质与格式、s:
$ you-get -i 'https://www.youtube.com/watch?v=jNQXAC9IVRw' site: YouTube title: Me at the zoo streams: # Available quality and codecs [ DEFAULT ] _________________________________ - itag: 43 container: webm quality: medium size: 0.5 MiB (564215 bytes) # download-with: you-get --itag=43 [URL] - itag: 18 container: mp4 quality: medium # download-with: you-get --itag=18 [URL] - itag: 5 container: flv quality: small # download-with: you-get --itag=5 [URL] - itag: 36 container: 3gp quality: small # download-with: you-get --itag=36 [URL] - itag: 17 container: 3gp quality: small # download-with: you-get --itag=17 [URL]
标有 DEFAULT 为默认画质。如认同,可下载:
$ you-get 'https://www.youtube.com/watch?v=jNQXAC9IVRw' site: YouTube title: Me at the zoo stream: - itag: 43 container: webm quality: medium size: 0.5 MiB (564215 bytes) # download-with: you-get --itag=43 [URL] Downloading zoo.webm ... 100.0% ( 0.5/0.5 MB) ├████████████████████████████████████████┤[1/1] 7 MB/s Saving Me at the zoo.en.srt ...Done.
(如YouTube视频带有字幕,将被一同下载,以SubRip格式保存.)
或,如您希望其他格式(mp4),请使用其他提示选项:
$ you-get --itag=18 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
注意:
- 目前,格式选择没有大规模铺开;默认选项为最高画质.
- ffmpeg 为必要依赖,以下载流式视频以及合并分块视频(例如,类似Youku), 以及YouTube的1080p或更高分辨率.
- 如不希望 you-get 合并视频,使用 --no-merge/-n.
下载其他内容
如你有URL,可以直接使用:
$ you-get https://stallman.org/rms.jpg Site: stallman.org Title: rms Type: JPEG Image (image/jpeg) Size: 0.06 MiB (66482 Bytes) Downloading rms.jpg ... 100.0% ( 0.1/0.1 MB) ├████████████████████████████████████████┤[1/1] 127 kB/s
或者, you-get 将自动检查网页,下载一切有可能感兴趣的内容:
$ you-get 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) Downloading tumblr_mxhg13jx4n1sftq6do1_1280.png ... 100.0% ( 0.5/0.5 MB) ├████████████████████████████████████████┤[1/1] 22 MB/s
注意:
- 此功能为测试性,远未完成。对于类似Tumblr和Blogger的大图有效,但是没有办法为所有网站建立通用格式.
在Google Videos搜索并下载
you-get 可以吃任何东西. 如果不是合法的URL, you-get 将在Google查找并下载最相关视频. (可能不是最心仪的,但是很有可能)
$ you-get "Richard Stallman eats"
暂停与恢复下载
可以使用Ctrl+C 暂停下载.
临时的.download文件将保存于输出目录。下次使用you-get传入相同参数时,下载将从上次继续开始. 如果下载已经完成 (临时的.download 扩展名消失), you-get 将忽略下载.
用 --force/-f 强行重下载. (注意: 将覆盖同名文件或临时文件!)
设置输出文件名或路径
使用 --output-dir/-o 设定路径, --output-filename/-O 设定输出文件名:
$ you-get -o ~/Videos -O zoo.webm 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
提示:
- 如果原视频标题含有与系统不兼容字符,十分有效.
- 也可以帮助使用脚本批量下载于指定目录和文件名.
代理设置
使用 --http-proxy/-x为you-get 设置HTTP代理:
$ you-get -x 127.0.0.1:8087 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
然而系统代理 (即系统变量 http_proxy) 自动使用. 使用 --no-proxy 强行关闭.
提示:
- 如果经常使用代理 (网络封锁了部分网站), 考虑将 you-get 和 proxychains 一同使用,并设置 alias you-get="proxychains -q you-get" (于命令行).
- 对于某些网站(例如Youku), 如果你需要下载仅供中国大陆观看的视频, 可以使用 --extractor-proxy/-y 单独为解析器设置代理. 可以使用 -y proxy.uku.im:8888 (鸣谢: Unblock Youku 项目).
观看视频
使用 --player/-p 将视频喂进播放器, 例如 mplayer 或者 vlc,而不是下载:
$ you-get -p vlc 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
或者你想在浏览器中观看而不希望看广告或评论区:
$ you-get -p chromium 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
提示:
- 可以使用 -p 开启下载工具,例如 you-get -p uget-gtk 'https://www.youtube.com/watch?v=jNQXAC9IVRw' , 虽然有可能不灵.
加载cookie
并非所有视频可供任何人观看。如果需要登录以观看 (例如, 私密视频), 可能必须将浏览器cookie通过 --cookies/-c 加载入 you-get.
注意:
- 目前我们支持两种cookie格式:Mozilla cookies.sqlite 和 Netscape cookies.txt.
复用解析数据
使用 --url/-u 获得页面所有可下载URL列表. 使用 --json 以获得JSON格式.
警告:
- 目前此功能未定型,JSON格式未来有可能变化.
支持网站
对于不在列表的网站,通用解析器将寻找并下载感兴趣之内容.
带GUI的you-get下载程序:https://github.com/ingbyr/GUI-YouGet
下载地址:https://github.com/ingbyr/GUI-YouGet/releases/download/v0.2.1/GUI-YouGet-0.2.1.zip
https://pan.baidu.com/s/1bp75DnD#fnun
简介
一个基于开源项目you-get的GUI程序,可以运行多种平台上,功能如下:
- 下载网站上的视频、音频和图片(支持的网站列表可以在下方找到)
- 更多的功能正在开发中