You-Get下载视频教程

You-Get 乃一小小哒命令行程序,提供便利的方式来下载网络上的媒体信息。

利用you-get下载这个网页的视频:

1
2
3
4
5
6
7
8
$ 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:

1
$ pip3 install you-get

选项 2: 使用预装包(仅供 Windows)

exe (单独文件) 或 7z (包括所有依赖) 可从https://github.com/soimort/you-get/releases/latest 下载.

选项 3: 于 GitHub 下载

您可选择稳定版 (与 PyPI 最新版等同) 或 开发版 (更多的热补丁与不稳定功能)的you-get. 解压并将含有you-get的目录加入PATH.

或者, 运行

1
$ make install

以安装you-get 于永久路径.

选项 4: Git clone

即使您不常使用 Python,作为开发者,也请使用此方法。

1
$ git clone git://github.com/soimort/you-get.git

将目录加入 PATH, 或运行 make install 以安装you-get 于永久路径.

升级

考虑到 you-get 安装方法之差异, 请使用:

1
$ pip3 install --upgrade you-get

或下载最新更新:

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

开始

下载视频

当观赏感兴趣之视频,您可以使用 --info/-i 以查看所有可用画质与格式、s:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$ 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 为默认画质。如认同,可下载:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ 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),请使用其他提示选项:

1
$ you-get --itag=18 'https://www.youtube.com/watch?v=jNQXAC9IVRw'

注意:

  • 目前,格式选择没有大规模铺开;默认选项为最高画质.
  • ffmpeg为必要依赖,以下载流式视频以及合并分块视频(例如,类似 Youku), 以及 YouTube 的 1080p 或更高分辨率.
  • 如不希望you-get合并视频,使用--no-merge/-n.

下载其他内容

如你有 URL,可以直接使用:

1
2
3
4
5
6
7
8
$ 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将自动检查网页,下载一切有可能感兴趣的内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
$ 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 查找并下载最相关视频. (可能不是最心仪的,但是很有可能)

1
$ you-get "Richard Stallman eats"

暂停与恢复下载

可以使用 Ctrl+C 暂停下载.

临时的.download文件将保存于输出目录。下次使用you-get传入相同参数时,下载将从上次继续开始. 如果下载已经完成 (临时的.download 扩展名消失), you-get将忽略下载.

--force/-f强行重下载. (注意: 将覆盖同名文件或临时文件!)

设置输出文件名或路径

使用--output-dir/-o 设定路径, --output-filename/-O 设定输出文件名:

1
$ you-get -o ~/Videos -O zoo.webm 'https://www.youtube.com/watch?v=jNQXAC9IVRw'

提示:

  • 如果原视频标题含有与系统不兼容字符,十分有效.
  • 也可以帮助使用脚本批量下载于指定目录和文件名.

代理设置

使用 --http-proxy/-xyou-get设置 HTTP 代理:

1
$ you-get -x 127.0.0.1:8087 'https://www.youtube.com/watch?v=jNQXAC9IVRw'

然而系统代理 (即系统变量http_proxy) 自动使用. 使用--no-proxy强行关闭.

提示:

  • 如果经常使用代理 (网络封锁了部分网站), 考虑将you-getproxychains 一同使用,并设置alias you-get="proxychains -q you-get" (于命令行).
  • 对于某些网站(例如 Youku), 如果你需要下载仅供中国大陆观看的视频, 可以使用 --extractor-proxy/-y单独为解析器设置代理. 可以使用 -y proxy.uku.im:8888 (鸣谢: Unblock Youku 项目).

观看视频

使用 --player/-p 将视频喂进播放器, 例如 mplayer 或者 vlc,而不是下载:

1
$ you-get -p vlc 'https://www.youtube.com/watch?v=jNQXAC9IVRw'

或者你想在浏览器中观看而不希望看广告或评论区:

1
$ 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 通过--cookies/-c 加载入 you-get.

注意:

  • 目前我们支持两种 cookie 格式:Mozilla cookies.sqlite 和 Netscape cookies.txt.

复用解析数据

使用 --url/-u 获得页面所有可下载 URL 列表. 使用 --json以获得 JSON 格式.

警告:

  • 目前此功能未定型,JSON 格式未来有可能变化.

支持网站

网站 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/
Veoh http://www.veoh.com/
Tumblr https://www.tumblr.com/
TED http://www.ted.com/
SoundCloud https://soundcloud.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/
JPopsuki TV http://www.jpopsuki.tv/
Internet Archive https://archive.org/
Instagram https://instagram.com/
Heavy Music Archive http://www.heavy-music.ru/
Google+ https://plus.google.com/
Freesound http://www.freesound.org/
Flickr https://www.flickr.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/
凤凰视频 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.letv.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://qianmo.com/
Sina 新浪视频 微博秒拍视频 http://video.sina.com.cn/ http://video.weibo.com/
Sohu 搜狐视频 http://tv.sohu.com/
天天动听 http://www.dongting.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/

对于不在列表的网站,通用解析器将寻找并下载感兴趣之内容.

已知问题

如果 you-get 出现问题,不要惊慌. (是的,问题一直存在!)

看看是不是在 https://github.com/soimort/you-get/wiki/Known-Bugs里面, 搜索 开放 Issue. 如果没人报告,开个新 issue, 加上详细的命令行输出.

参与我们

使用 Gitter #soimort/you-get (如何为 Gitter 设置 IRC 客户端 ). 如果是个关于 you-get 的小问题, 在这里问.

我们欢迎各种 pull requestse. 然而请注意:

  • 你要向 develop 分支发 PR.
  • 记得 rebase.
  • 写出详细文档,如果可以,给出一些测试 URL.
  • commit message 格式优美,清晰可读. 如果不知道,看看以往的.
  • 我们不会强制你签署 CLA, 但是你必须确保你的代码可以被合法分发(使用 MIT 协议).

法律问题

本软件使用 MIT 协议.

请特别注意:

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

(一个中文翻译可在http://lucien.cc/?p=15 查询。)

人话:

如果你使用本软件进行盗版行为,或者非法行径,作者不为你负责.

我们仅提供代码, 如何使用请自行考虑.

作者

@soimort, 在此查看 贡献者名单.