README.md 11.5 KB
Newer Older
M
Mort Yao 已提交
1
# You-Get [![Build Status](https://api.travis-ci.org/soimort/you-get.png)](https://travis-ci.org/soimort/you-get)
M
Mort Yao 已提交
2

3
[You-Get](https://github.com/soimort/you-get) is a video downloader runs on Python 3. It aims at easing the download of videos on [YouTube](http://www.youtube.com), [Youku](http://www.youku.com)/[Tudou](http://www.tudou.com) (biggest online video providers in China), [ Niconico](http://www.nicovideo.jp), etc., in one script.
M
Mort Yao 已提交
4

M
Mort Yao 已提交
5
See the project homepage <http://www.soimort.org/you-get> for further documentation.
M
Mort Yao 已提交
6

M
Mort Yao 已提交
7 8 9 10
Fork me on GitHub: <https://github.com/soimort/you-get>

## Features

M
Mort Yao 已提交
11
### Supported Sites (As of Now)
M
Mort Yao 已提交
12 13

* YouTube <http://www.youtube.com>
M
Mort Yao 已提交
14
* Vimeo <http://vimeo.com>
M
Mort Yao 已提交
15
* Dailymotion <http://dailymotion.com>
M
Mort Yao 已提交
16
* Facebook <http://facebook.com>
M
Mort Yao 已提交
17
* Google+ <http://plus.google.com>
M
Mort Yao 已提交
18
* Tumblr <http://www.tumblr.com>
M
Mort Yao 已提交
19
* SoundCloud <http://soundcloud.com>
M
Mort Yao 已提交
20
* Mixcloud <http://www.mixcloud.com>
M
Mort Yao 已提交
21
* JPopsuki <http://jpopsuki.tv>
22
* Niconico (ニコニコ動画) <http://www.nicovideo.jp>
M
Mort Yao 已提交
23 24 25 26 27 28
* Youku (优酷) <http://www.youku.com>
* Tudou (土豆) <http://www.tudou.com>
* YinYueTai (音悦台) <http://www.yinyuetai.com>
* AcFun <http://www.acfun.tv>
* bilibili <http://www.bilibili.tv>
* CNTV (中国网络电视台) <http://www.cntv.cn>
M
Mort Yao 已提交
29
* Douban (豆瓣) <http://douban.com>
M
Mort Yao 已提交
30
* ifeng (凤凰视频) <http://v.ifeng.com>
M
Mort Yao 已提交
31
* iQIYI (爱奇艺) <http://www.iqiyi.com>
M
Mort Yao 已提交
32
* Joy.cn (激动网) <http://www.joy.cn>
M
Mort Yao 已提交
33
* Ku6 (酷6网) <http://www.ku6.com>
M
Mort Yao 已提交
34
* MioMio <http://www.miomio.tv>
M
Mort Yao 已提交
35
* NetEase (网易视频) <http://v.163.com>
M
Mort Yao 已提交
36
* PPTV <http://www.pptv.com>
M
Mort Yao 已提交
37
* QQ (腾讯视频) <http://v.qq.com>
M
Mort Yao 已提交
38 39 40
* Sina (新浪视频) <http://video.sina.com.cn>
* Sohu (搜狐视频) <http://tv.sohu.com>
* 56 (56网) <http://www.56.com>
M
Mort Yao 已提交
41
* Xiami (虾米) <http://www.xiami.com>
M
Mort Yao 已提交
42

M
Mort Yao 已提交
43 44 45 46 47 48
## Dependencies

* [Python 3](http://www.python.org/download/releases/)
* __(Optional)__ [FFmpeg](http://ffmpeg.org)
    * Used for converting and joining video files.

M
Mort Yao 已提交
49 50 51 52
## Installation

### 1. Install via [Pip](http://www.pip-installer.org/):

M
Mort Yao 已提交
53
    $ pip install you-get
M
Mort Yao 已提交
54 55 56 57 58 59 60
    
   Check if the installation was successful:
    
    $ you-get -V

### 2. Install via [EasyInstall](http://pypi.python.org/pypi/setuptools):

M
Mort Yao 已提交
61
    $ easy_install you-get
M
Mort Yao 已提交
62 63 64 65 66
    
   Check if the installation was successful:
    
    $ you-get -V

M
Mort Yao 已提交
67 68 69
### 3. Install from Git:

    $ git clone git://github.com/soimort/you-get.git
M
Mort Yao 已提交
70 71 72
    
   Use the raw script without installation:
    
M
Mort Yao 已提交
73
    $ cd you-get/
M
Mort Yao 已提交
74 75 76 77 78 79
    $ ./you-get -V
    
   To install the package into the system path, execute:
    
    $ make install
    
M
Mort Yao 已提交
80
   Or (on Windows):
M
Mort Yao 已提交
81 82 83 84 85 86 87
    
    > setup.py install
    
   Check if the installation was successful:
    
    $ you-get -V

M
Mort Yao 已提交
88 89 90 91
### 4. Direct download (from <https://github.com/soimort/you-get/zipball/master>):
    
    $ wget -O you-get.zip https://github.com/soimort/you-get/zipball/master
    $ unzip you-get.zip
M
Mort Yao 已提交
92 93 94
    
   Use the raw script without installation:
    
M
Mort Yao 已提交
95
    $ cd soimort-you-get-*/
M
Mort Yao 已提交
96 97 98 99 100 101
    $ ./you-get -V
    
   To install the package into the system path, execute:
    
    $ make install
    
M
Mort Yao 已提交
102
   Or (on Windows):
M
Mort Yao 已提交
103 104 105 106 107 108 109
    
    > setup.py install
    
   Check if the installation was successful:
    
    $ you-get -V

M
Mort Yao 已提交
110 111 112
### 5. Install from [AUR (Arch User Repository)](http://aur.archlinux.org/):

   Click [here](https://aur.archlinux.org/packages.php\?ID=62576).
M
Mort Yao 已提交
113

M
Mort Yao 已提交
114 115 116 117 118 119 120 121 122 123 124 125 126 127
## Examples (For End-Users)

Display the information of the video without downloading:

    $ you-get -i http://www.youtube.com/watch?v=sGwy8DsUJ4M

Download the video:

    $ you-get http://www.youtube.com/watch?v=sGwy8DsUJ4M

Download multiple videos:

    $ you-get http://www.youtube.com/watch?v=sGwy8DsUJ4M http://www.youtube.com/watch?v=8bQlxQJEzLk

M
Mort Yao 已提交
128
By default, program will skip any video that already exists in the local directory when downloading. If a temporary file (ends with a ".download" filename extension) is found, program will resume the download from last session.
M
Mort Yao 已提交
129

M
Mort Yao 已提交
130
To enforce re-downloading of videos, use '-f' option (this will overwrite any existing video or temporary file, rather than skipping or resuming them):
M
Mort Yao 已提交
131 132 133

    $ you-get -f http://www.youtube.com/watch?v=sGwy8DsUJ4M

M
Mort Yao 已提交
134
Set the output directory for downloaded files:
M
Mort Yao 已提交
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153

    $ you-get -o ~/Downloads http://www.youtube.com/watch?v=sGwy8DsUJ4M

Use a specific HTTP proxy for downloading:

    $ you-get -x 127.0.0.1:8087 http://www.youtube.com/watch?v=sGwy8DsUJ4M

By default, Python will apply the system proxy settings (i.e. environment variable $http_proxy). To cancel the use of proxy, use '--no-proxy' option:

    $ you-get --no-proxy http://www.youtube.com/watch?v=sGwy8DsUJ4M

## Command-Line Options

For a complete list of all available options, see:

    $ you-get --help

## Examples (For Developers)

M
Mort Yao 已提交
154
In Python 3 (interactive):
M
Mort Yao 已提交
155

M
Mort Yao 已提交
156 157
    >>> from you_get.downloader import *
    >>> youtube.download("http://www.youtube.com/watch?v=8bQlxQJEzLk", info_only = True)
M
Mort Yao 已提交
158 159 160 161 162
    Video Site: YouTube.com
    Title:      If you're good at something, never do it for free!
    Type:       WebM video (video/webm)
    Size:       0.13 MB (133176 Bytes)
    
M
Mort Yao 已提交
163 164
    >>> import you_get
    >>> you_get.any_download("http://www.youtube.com/watch?v=sGwy8DsUJ4M")
M
Mort Yao 已提交
165 166 167 168
    Video Site: YouTube.com
    Title:      Mort from Madagascar LIKES
    Type:       WebM video (video/webm)
    Size:       1.78 MB (1867072 Bytes)
M
Mort Yao 已提交
169
    
M
Mort Yao 已提交
170 171 172 173 174 175 176 177 178 179 180
    Downloading Mort from Madagascar LIKES.webm ...
    100.0% (  1.8/1.8  MB) [========================================] 1/1

## API Reference

See source code.

## License

You-Get is licensed under the [MIT license](https://raw.github.com/soimort/you-get/master/LICENSE.txt).

M
Mort Yao 已提交
181 182 183 184
## Contributing

Please see [CONTRIBUTING.md](https://raw.github.com/soimort/you-get/master/CONTRIBUTING.md).

M
Mort Yao 已提交
185 186 187 188 189 190 191 192 193 194


***



# You-Get - 中文说明

[You-Get](https://github.com/soimort/you-get)是一个基于Python 3的视频下载工具。之所以写它的主要原因是,我找不到一个现成的下载工具能够同时支持[YouTube](http://www.youtube.com/)[优酷](http://www.youku.com/);而且,几乎所有以前的视频下载程序都是基于Python 2的。

M
Mort Yao 已提交
195 196 197 198
项目主页:<http://www.soimort.org/you-get>

GitHub地址:<https://github.com/soimort/you-get>

M
Mort Yao 已提交
199
## 特点
M
Mort Yao 已提交
200 201 202

### 说明

M
Mort Yao 已提交
203
You-Get基于优酷下载脚本[iambus/youku-lixian](https://github.com/iambus/youku-lixian)用Python 3改写而成,增加了以下功能:
M
Mort Yao 已提交
204

M
Mort Yao 已提交
205
* 支持YouTube、Vimeo等国外视频网站
M
Mort Yao 已提交
206 207 208
* 支持断点续传
* 可设置HTTP代理

M
Mort Yao 已提交
209
### 支持的站点(截至目前)
M
Mort Yao 已提交
210

M
Mort Yao 已提交
211
已实现对以下站点的支持,以后会陆续增加(・∀・)
M
Mort Yao 已提交
212 213

* YouTube <http://www.youtube.com>
M
Mort Yao 已提交
214
* Vimeo <http://vimeo.com>
M
Mort Yao 已提交
215
* Dailymotion <http://dailymotion.com>
M
Mort Yao 已提交
216
* Facebook <http://facebook.com>
M
Mort Yao 已提交
217
* Google+ <http://plus.google.com>
M
Mort Yao 已提交
218
* Tumblr <http://www.tumblr.com>
M
Mort Yao 已提交
219
* SoundCloud <http://soundcloud.com>
M
Mort Yao 已提交
220
* Mixcloud <http://www.mixcloud.com>
M
Mort Yao 已提交
221
* JPopsuki <http://jpopsuki.tv>
222
* NICONICO动画 <http://www.nicovideo.jp>
M
Mort Yao 已提交
223 224
* 优酷 <http://www.youku.com>
* 土豆 <http://www.tudou.com>
M
Mort Yao 已提交
225
* 音悦台 <http://www.yinyuetai.com>
M
Mort Yao 已提交
226 227 228
* AcFun <http://www.acfun.tv>
* bilibili <http://www.bilibili.tv>
* CNTV <http://www.cntv.cn>
M
Mort Yao 已提交
229
* 豆瓣 <http://douban.com>
M
Mort Yao 已提交
230
* 凤凰视频 <http://v.ifeng.com>
M
Mort Yao 已提交
231
* 爱奇艺 <http://www.iqiyi.com>
M
Mort Yao 已提交
232
* 激动网 <http://www.joy.cn>
M
Mort Yao 已提交
233
* 酷6网 <http://www.ku6.com>
M
Mort Yao 已提交
234
* MioMio <http://www.miomio.tv>
M
Mort Yao 已提交
235
* 网易视频 <http://v.163.com>
M
Mort Yao 已提交
236
* PPTV <http://www.pptv.com>
M
Mort Yao 已提交
237
* 腾讯视频 <http://v.qq.com>
M
Mort Yao 已提交
238 239 240
* 新浪视频 <http://video.sina.com.cn>
* 搜狐视频 <http://tv.sohu.com>
* 56网 <http://www.56.com>
G
gongqijian 已提交
241
* 虾米 <http://www.xiami.com>
M
Mort Yao 已提交
242

M
Mort Yao 已提交
243 244 245 246 247 248
## 依赖

* [Python 3](http://www.python.org/download/releases/)
* __(可选)__ [FFmpeg](http://ffmpeg.org)
    * 用于转换与合并视频文件。

M
Mort Yao 已提交
249
## 安装说明
M
Mort Yao 已提交
250

M
Mort Yao 已提交
251
(以下命令格式均以Linux shell为例)
M
Mort Yao 已提交
252

253
### 1. 通过[Pip](http://www.pip-installer.org/)安装:
M
Mort Yao 已提交
254

M
Mort Yao 已提交
255
    $ pip install you-get
M
Mort Yao 已提交
256 257 258 259 260 261 262
    
   检查安装是否成功:
    
    $ you-get -V

### 2. 通过[EasyInstall](http://pypi.python.org/pypi/setuptools)安装:

M
Mort Yao 已提交
263
    $ easy_install you-get
M
Mort Yao 已提交
264 265 266 267 268
    
   检查安装是否成功:
    
    $ you-get -V

M
Mort Yao 已提交
269 270 271
### 3. 从Git安装:

    $ git clone git://github.com/soimort/you-get.git
M
Mort Yao 已提交
272 273 274
    
   在不安装的情况下直接使用脚本:
    
M
Mort Yao 已提交
275
    $ cd you-get/
M
Mort Yao 已提交
276 277 278 279 280 281 282 283 284 285 286 287 288 289
    $ ./you-get -V
    
   若要将Python package安装到系统默认路径,执行:
    
    $ make install
    
   或:(适用于Windows)
    
    > setup.py install
    
   检查安装是否成功:
    
    $ you-get -V

M
Mort Yao 已提交
290 291 292 293
### 4. 直接下载(从<https://github.com/soimort/you-get/zipball/master>):
    
    $ wget -O you-get.zip https://github.com/soimort/you-get/zipball/master
    $ unzip you-get.zip
M
Mort Yao 已提交
294 295 296
    
   在不安装的情况下直接使用脚本:
    
M
Mort Yao 已提交
297
    $ cd soimort-you-get-*/
M
Mort Yao 已提交
298 299 300 301 302 303 304 305 306 307 308 309 310 311
    $ ./you-get -V
    
   若要将Python package安装到系统默认路径,执行:
    
    $ make install
    
   或:(适用于Windows)
    
    > setup.py install
    
   检查安装是否成功:
    
    $ you-get -V

M
Mort Yao 已提交
312 313 314
### 5. 从[AUR (Arch User Repository)](http://aur.archlinux.org/)安装:

   点击[这里](https://aur.archlinux.org/packages.php\?ID=62576)
M
Mort Yao 已提交
315

M
Mort Yao 已提交
316
## 使用方法示例
M
Mort Yao 已提交
317

M
Mort Yao 已提交
318
### 如何下载视频
M
Mort Yao 已提交
319 320 321

显示视频信息,但不进行下载(`-i``--info`选项):

M
Mort Yao 已提交
322
    $ you-get -i http://www.yinyuetai.com/video/463772
M
Mort Yao 已提交
323 324 325

下载视频:

M
Mort Yao 已提交
326
    $ you-get http://www.yinyuetai.com/video/463772
M
Mort Yao 已提交
327 328 329

下载多个视频:

M
Mort Yao 已提交
330
    $ you-get http://www.yinyuetai.com/video/463772 http://www.yinyuetai.com/video/471500
M
Mort Yao 已提交
331 332 333 334

若当前目录下已有与视频标题同名的文件,下载时会自动跳过。若有同名的`.download`临时文件,程序会从上次中断处开始下载。
如要强制重新下载该视频,可使用`-f``--force`)选项:

M
Mort Yao 已提交
335
    $ you-get -f http://www.yinyuetai.com/video/463772
M
Mort Yao 已提交
336 337 338

`-l``--playlist`)选项用于下载播放列表(只对某些网站适用):

M
Mort Yao 已提交
339
    $ you-get -l http://www.youku.com/playlist_show/id_5344313.html
M
Mort Yao 已提交
340

M
Mort Yao 已提交
341 342
__注:从0.1.3以后的版本起,`-l`选项不再必须。You-Get可以自动识别并处理播放列表的下载。__

M
Mort Yao 已提交
343 344
指定视频文件的下载目录:

M
Mort Yao 已提交
345
    $ you-get -o ~/Downloads http://www.yinyuetai.com/video/463772
M
Mort Yao 已提交
346 347 348

显示详细帮助:

M
Mort Yao 已提交
349
    $ you-get -h
M
Mort Yao 已提交
350 351 352 353 354

### 如何设置代理

默认情况下,Python自动使用系统的代理配置。可以通过环境变量`http_proxy`来设置系统的HTTP代理。

M
Mort Yao 已提交
355
`-x``--http-proxy`)选项用于手动指定You-Get所使用的HTTP代理。例如:GoAgent的代理服务器是`http://127.0.0.1:8087`,则通过该代理下载某YouTube视频的命令是:
M
Mort Yao 已提交
356

M
Mort Yao 已提交
357
    $ you-get -x 127.0.0.1:8087 http://www.youtube.com/watch?v=KbtO_Ayjw0M
M
Mort Yao 已提交
358 359 360

Windows下的自由门等翻墙软件会自动设置系统全局代理,因此无需指定HTTP代理即可下载YouTube视频:

M
Mort Yao 已提交
361
    $ you-get http://www.youtube.com/watch?v=KbtO_Ayjw0M
M
Mort Yao 已提交
362 363 364

如果不希望程序在下载过程中使用任何代理(包括系统的代理配置),可以显式地指定`--no-proxy`选项:

M
Mort Yao 已提交
365
    $ you-get --no-proxy http://v.youku.com/v_show/id_XMjI0ODc1NTc2.html
M
Mort Yao 已提交
366 367 368

### 断点续传

M
Mort Yao 已提交
369
下载未完成时被中止(因为`Ctrl+C`终止程序或者网络中断等原因),在目标路径中会有一个扩展名为`.download`的临时文件。
M
Mort Yao 已提交
370 371 372

下次运行只要在目标路径中找到相应的`.download`临时文件,程序会自动从中断处继续下载。(除非指定了`-f`选项)

M
Mort Yao 已提交
373
## 使用Python 2?
M
Mort Yao 已提交
374 375 376 377 378

优酷等国内视频网站的下载,请移步:[iambus/youku-lixian](https://github.com/iambus/youku-lixian)

YouTube等国外视频网站的下载,请移步:[rg3/youtube-dl](https://github.com/rg3/youtube-dl)

M
Mort Yao 已提交
379
## 许可证
M
Mort Yao 已提交
380

M
Mort Yao 已提交
381
You-Get在[MIT License](https://raw.github.com/soimort/you-get/master/LICENSE.txt)下发布。
M
Mort Yao 已提交
382 383 384 385

## 如何参与贡献 / 报告issue

请阅读 [CONTRIBUTING.md](https://raw.github.com/soimort/you-get/master/CONTRIBUTING.md)