2013-03-13 01:07:08 +01:00
# You-Get
2012-08-20 23:54:03 +08:00
2013-03-14 23:17:34 +01:00
[](https://travis-ci.org/soimort/you-get)
2013-02-08 05:09:42 +01:00
[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.
2012-08-20 23:54:03 +08:00
2012-09-01 00:55:45 +02:00
See the project homepage < http: / / www . soimort . org / you-get > for further documentation.
2012-08-20 23:54:03 +08:00
2012-09-01 00:55:45 +02:00
Fork me on GitHub: < https: / / github . com / soimort / you-get >
## Features
2012-09-02 14:27:35 +02:00
### Supported Sites (As of Now)
2012-09-01 00:55:45 +02:00
* YouTube < http: // www . youtube . com >
2012-09-02 14:27:35 +02:00
* Vimeo < http: // vimeo . com >
2013-04-05 03:13:31 +02:00
* Coursera < https: // www . coursera . org >
2013-03-07 23:51:55 +01:00
* Blip < http: // blip . tv >
2012-09-25 00:35:53 +02:00
* Dailymotion < http: // dailymotion . com >
2013-01-26 23:50:38 +01:00
* Facebook < http: // facebook . com >
2012-10-15 23:21:29 +02:00
* Google+ < http: // plus . google . com >
2013-04-21 17:26:14 +02:00
* Google Drive < http: // docs . google . com >
2012-12-18 17:26:35 +01:00
* Tumblr < http: // www . tumblr . com >
2013-03-22 04:37:28 +01:00
* Vine < http: // vine . co >
2013-06-20 21:13:35 +02:00
* Instagram < http: // instagram . com >
2012-12-10 00:09:13 +01:00
* SoundCloud < http: // soundcloud . com >
2013-01-31 16:47:41 +01:00
* Mixcloud < http: // www . mixcloud . com >
2013-04-10 17:54:35 +02:00
* Freesound < http: // www . freesound . org >
2013-03-07 16:34:14 +01:00
* VID48 < http: // vid48 . com >
2013-02-08 05:09:42 +01:00
* Niconico (ニコニコ動画) < http: // www . nicovideo . jp >
2012-09-02 14:27:35 +02:00
* 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 >
2013-02-23 19:43:52 +01:00
* Douban (豆瓣) < http: // douban . com >
2012-09-02 15:22:21 +02:00
* ifeng (凤凰视频) < http: // v . ifeng . com >
2012-09-02 14:27:35 +02:00
* iQIYI (爱奇艺) < http: // www . iqiyi . com >
2013-01-27 16:54:11 +01:00
* Joy.cn (激动网) < http: // www . joy . cn >
2012-09-02 14:27:35 +02:00
* Ku6 (酷6网) < http: // www . ku6 . com >
2013-02-22 23:30:51 +01:00
* MioMio < http: // www . miomio . tv >
2013-01-11 18:18:51 +01:00
* NetEase (网易视频) < http: // v . 163 . com >
2012-09-02 14:27:35 +02:00
* PPTV < http: // www . pptv . com >
2012-12-01 17:25:33 +01:00
* QQ (腾讯视频) < http: // v . qq . com >
2012-09-02 14:27:35 +02:00
* Sina (新浪视频) < http: // video . sina . com . cn >
* Sohu (搜狐视频) < http: // tv . sohu . com >
* 56 (56网) < http: // www . 56 . com >
2012-12-27 04:00:08 +01:00
* Xiami (虾米) < http: // www . xiami . com >
2013-06-07 01:22:51 +02:00
* Baidu Music (百度音乐) < http: // music . baidu . com >
* Baidu Wangpan (百度网盘) < http: // pan . baidu . com >
2013-04-14 18:29:08 +02:00
* SongTaste < http: // www . songtaste . com >
2013-06-13 00:12:45 +02:00
* Alive.in.th < http: // alive . in . th >
2012-09-01 00:55:45 +02:00
2012-09-18 23:47:34 +02:00
## Dependencies
* [Python 3 ](http://www.python.org/download/releases/ )
* __(Optional)__ [FFmpeg ](http://ffmpeg.org )
* Used for converting and joining video files.
2012-09-01 00:55:45 +02:00
## Installation
### 1. Install via [Pip](http://www.pip-installer.org/):
2012-09-02 14:27:35 +02:00
$ pip install you-get
2012-09-01 00:55:45 +02:00
Check if the installation was successful:
$ you-get -V
### 2. Install via [EasyInstall](http://pypi.python.org/pypi/setuptools):
2012-09-02 14:27:35 +02:00
$ easy_install you-get
2012-09-01 00:55:45 +02:00
Check if the installation was successful:
$ you-get -V
2012-09-18 22:56:52 +02:00
### 3. Install from Git:
$ git clone git://github.com/soimort/you-get.git
2012-09-01 00:55:45 +02:00
Use the raw script without installation:
2012-09-18 22:56:52 +02:00
$ cd you-get/
2012-09-01 00:55:45 +02:00
$ ./you-get -V
To install the package into the system path, execute:
$ make install
Check if the installation was successful:
$ you-get -V
2012-09-18 22:56:52 +02:00
### 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
2012-09-01 00:55:45 +02:00
Use the raw script without installation:
2012-09-18 22:56:52 +02:00
$ cd soimort-you-get-*/
2012-09-01 00:55:45 +02:00
$ ./you-get -V
To install the package into the system path, execute:
$ make install
Check if the installation was successful:
$ you-get -V
2012-09-18 23:47:34 +02:00
### 5. Install from [AUR (Arch User Repository)](http://aur.archlinux.org/):
Click [here ](https://aur.archlinux.org/packages.php\?ID=62576 ).
2012-09-18 22:56:52 +02:00
2013-03-22 23:03:00 +01:00
### Upgrading:
2013-03-02 04:09:23 +01:00
Using Pip:
$ pip install --upgrade you-get
2013-03-22 23:03:00 +01:00
### FAQ (For Windows Users):
2013-03-02 04:09:23 +01:00
2013-03-22 23:03:00 +01:00
* Q: I don't know how to install it on Windows.
2013-03-02 04:09:23 +01:00
2013-03-22 23:03:00 +01:00
* A: Then don't do it. Just put your `you-get` folder into system `%PATH%` .
2013-03-02 04:09:23 +01:00
2013-03-22 23:03:00 +01:00
* Q: I got something like `UnicodeDecodeError: 'gbk' codec can't decode byte 0xb0 in position 1012: illegal multibyte sequence` .
2013-03-02 04:09:23 +01:00
2013-03-22 23:03:00 +01:00
* A: Run `set PYTHONIOENCODING=utf-8` .
2013-03-02 04:09:23 +01:00
2012-09-01 00:55:45 +02:00
## 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
2012-09-02 14:27:35 +02:00
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.
2012-09-01 00:55:45 +02:00
2012-09-02 14:27:35 +02:00
To enforce re-downloading of videos, use '-f' option (this will overwrite any existing video or temporary file, rather than skipping or resuming them):
2012-09-01 00:55:45 +02:00
$ you-get -f http://www.youtube.com/watch?v=sGwy8DsUJ4M
2012-09-02 14:27:35 +02:00
Set the output directory for downloaded files:
2012-09-01 00:55:45 +02:00
$ 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)
2012-09-02 14:27:35 +02:00
In Python 3 (interactive):
2012-09-01 00:55:45 +02:00
2013-02-14 23:09:49 +01:00
>>> from you_get.downloader import *
>>> youtube.download("http://www.youtube.com/watch?v=8bQlxQJEzLk", info_only = True)
2012-09-01 00:55:45 +02:00
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)
2013-02-14 23:09:49 +01:00
>>> import you_get
>>> you_get.any_download("http://www.youtube.com/watch?v=sGwy8DsUJ4M")
2012-09-01 00:55:45 +02:00
Video Site: YouTube.com
Title: Mort from Madagascar LIKES
Type: WebM video (video/webm)
Size: 1.78 MB (1867072 Bytes)
2012-09-02 14:27:35 +02:00
2012-09-01 00:55:45 +02:00
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 ).
2013-02-28 23:03:25 +01:00
## Contributing
2013-02-28 23:19:34 +01:00
Please see [CONTRIBUTING.md ](https://github.com/soimort/you-get/blob/master/CONTRIBUTING.md ).
2013-02-28 23:03:25 +01:00
2012-09-01 00:55:45 +02:00
***
# You-Get - 中文说明
[You-Get ](https://github.com/soimort/you-get )是一个基于Python 3的视频下载工具。之所以写它的主要原因是, 我找不到一个现成的下载工具能够同时支持[YouTube ](http://www.youtube.com/ )和[优酷 ](http://www.youku.com/ ); 而且, 几乎所有以前的视频下载程序都是基于Python 2的。
2012-09-02 14:27:35 +02:00
项目主页:< http: / / www . soimort . org / you-get >
GitHub地址: < https: / / github . com / soimort / you-get >
2012-09-01 00:55:45 +02:00
## 特点
2012-08-20 23:54:03 +08:00
### 说明
2012-09-01 00:55:45 +02:00
You-Get基于优酷下载脚本[iambus/youku-lixian ](https://github.com/iambus/youku-lixian )用Python 3改写而成, 增加了以下功能:
2012-08-20 23:54:03 +08:00
2012-09-02 14:27:35 +02:00
* 支持YouTube、Vimeo等国外视频网站
2012-08-20 23:54:03 +08:00
* 支持断点续传
* 可设置HTTP代理
2012-09-02 14:27:35 +02:00
### 支持的站点(截至目前)
2012-08-20 23:54:03 +08:00
2013-02-23 19:43:52 +01:00
已实现对以下站点的支持,以后会陆续增加(・∀・)
2012-08-20 23:54:03 +08:00
* YouTube < http: // www . youtube . com >
2012-09-02 14:27:35 +02:00
* Vimeo < http: // vimeo . com >
2013-04-05 03:13:31 +02:00
* Coursera < https: // www . coursera . org >
2013-03-07 23:51:55 +01:00
* Blip < http: // blip . tv >
2012-09-25 00:35:53 +02:00
* Dailymotion < http: // dailymotion . com >
2013-01-26 23:50:38 +01:00
* Facebook < http: // facebook . com >
2012-10-15 23:21:29 +02:00
* Google+ < http: // plus . google . com >
2013-04-21 17:26:14 +02:00
* Google Drive < http: // docs . google . com >
2012-12-18 17:26:35 +01:00
* Tumblr < http: // www . tumblr . com >
2013-03-22 04:37:28 +01:00
* Vine < http: // vine . co >
2013-06-20 21:13:35 +02:00
* Instagram < http: // instagram . com >
2012-12-10 00:09:13 +01:00
* SoundCloud < http: // soundcloud . com >
2013-01-31 16:47:41 +01:00
* Mixcloud < http: // www . mixcloud . com >
2013-04-10 17:54:35 +02:00
* Freesound < http: // www . freesound . org >
2013-03-07 16:34:14 +01:00
* VID48 < http: // vid48 . com >
2013-02-08 05:09:42 +01:00
* NICONICO动画 < http: // www . nicovideo . jp >
2012-08-20 23:54:03 +08:00
* 优酷 < http: // www . youku . com >
* 土豆 < http: // www . tudou . com >
2012-09-01 00:55:45 +02:00
* 音悦台 < http: // www . yinyuetai . com >
2012-09-02 14:27:35 +02:00
* AcFun < http: // www . acfun . tv >
* bilibili < http: // www . bilibili . tv >
* CNTV < http: // www . cntv . cn >
2013-02-23 19:43:52 +01:00
* 豆瓣 < http: // douban . com >
2012-09-02 15:22:21 +02:00
* 凤凰视频 < http: // v . ifeng . com >
2012-09-02 14:27:35 +02:00
* 爱奇艺 < http: // www . iqiyi . com >
2013-01-27 16:54:11 +01:00
* 激动网 < http: // www . joy . cn >
2012-09-02 14:27:35 +02:00
* 酷6网 < http: // www . ku6 . com >
2013-02-22 23:30:51 +01:00
* MioMio < http: // www . miomio . tv >
2013-01-11 18:18:51 +01:00
* 网易视频 < http: // v . 163 . com >
2012-09-02 14:27:35 +02:00
* PPTV < http: // www . pptv . com >
2012-12-01 17:25:33 +01:00
* 腾讯视频 < http: // v . qq . com >
2012-09-02 14:27:35 +02:00
* 新浪视频 < http: // video . sina . com . cn >
* 搜狐视频 < http: // tv . sohu . com >
* 56网 < http: // www . 56 . com >
2012-12-23 00:46:22 +08:00
* 虾米 < http: // www . xiami . com >
2013-03-26 13:51:37 +08:00
* 百度音乐 < http: // music . baidu . com >
2013-06-07 01:22:51 +02:00
* 百度网盘 < http: // pan . baidu . com >
2013-04-14 18:29:08 +02:00
* SongTaste < http: // www . songtaste . com >
2013-06-13 00:12:45 +02:00
* Alive.in.th < http: // alive . in . th >
2012-08-20 23:54:03 +08:00
2012-09-18 23:47:34 +02:00
## 依赖
* [Python 3 ](http://www.python.org/download/releases/ )
* __( 可选) __ [FFmpeg ](http://ffmpeg.org )
* 用于转换与合并视频文件。
2012-09-02 14:27:35 +02:00
## 安装说明
2012-09-01 00:55:45 +02:00
2012-09-02 14:27:35 +02:00
( 以下命令格式均以Linux shell为例)
2012-09-01 00:55:45 +02:00
2012-09-16 10:50:35 +02:00
### 1. 通过[Pip](http://www.pip-installer.org/)安装:
2012-09-01 00:55:45 +02:00
2012-09-02 14:27:35 +02:00
$ pip install you-get
2012-09-01 00:55:45 +02:00
检查安装是否成功:
$ you-get -V
### 2. 通过[EasyInstall](http://pypi.python.org/pypi/setuptools)安装:
2012-09-02 14:27:35 +02:00
$ easy_install you-get
2012-09-01 00:55:45 +02:00
检查安装是否成功:
$ you-get -V
2012-09-18 22:56:52 +02:00
### 3. 从Git安装:
$ git clone git://github.com/soimort/you-get.git
2012-09-01 00:55:45 +02:00
在不安装的情况下直接使用脚本:
2012-09-18 22:56:52 +02:00
$ cd you-get/
2012-09-01 00:55:45 +02:00
$ ./you-get -V
若要将Python package安装到系统默认路径, 执行:
$ make install
检查安装是否成功:
$ you-get -V
2012-09-18 22:56:52 +02:00
### 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
2012-09-01 00:55:45 +02:00
在不安装的情况下直接使用脚本:
2012-09-18 22:56:52 +02:00
$ cd soimort-you-get-*/
2012-09-01 00:55:45 +02:00
$ ./you-get -V
若要将Python package安装到系统默认路径, 执行:
$ make install
检查安装是否成功:
$ you-get -V
2012-09-18 23:47:34 +02:00
### 5. 从[AUR (Arch User Repository)](http://aur.archlinux.org/)安装:
点击[这里 ](https://aur.archlinux.org/packages.php\?ID=62576 )。
2012-09-18 22:56:52 +02:00
2013-03-22 23:03:00 +01:00
### 升级:
2013-03-02 04:09:23 +01:00
使用Pip:
$ pip install --upgrade you-get
2013-03-22 23:03:00 +01:00
### FAQ( 针对Windows用户):
2013-03-02 04:09:23 +01:00
2013-03-22 23:03:00 +01:00
* Q: 我不知道该如何在Windows下安装。
2013-03-02 04:09:23 +01:00
2013-03-22 23:03:00 +01:00
* A: 不需要安装。直接把`you-get` 目录放到系统`%PATH%` 中。
2013-03-02 04:09:23 +01:00
2013-03-22 23:03:00 +01:00
* Q: 出现错误提示`UnicodeDecodeError: 'gbk' codec can't decode byte 0xb0 in position 1012: illegal multibyte sequence` 。
2013-03-02 04:09:23 +01:00
2013-03-22 23:03:00 +01:00
* A: 执行`set PYTHONIOENCODING=utf-8` 。
2013-03-02 04:09:23 +01:00
2012-09-01 00:55:45 +02:00
## 使用方法示例
2012-08-20 23:54:03 +08:00
2012-09-01 00:55:45 +02:00
### 如何下载视频
2012-08-20 23:54:03 +08:00
显示视频信息,但不进行下载(`-i` 或`--info` 选项):
2012-09-01 00:55:45 +02:00
$ you-get -i http://www.yinyuetai.com/video/463772
2012-08-20 23:54:03 +08:00
下载视频:
2012-09-01 00:55:45 +02:00
$ you-get http://www.yinyuetai.com/video/463772
2012-08-20 23:54:03 +08:00
下载多个视频:
2012-09-01 00:55:45 +02:00
$ you-get http://www.yinyuetai.com/video/463772 http://www.yinyuetai.com/video/471500
2012-08-20 23:54:03 +08:00
若当前目录下已有与视频标题同名的文件,下载时会自动跳过。若有同名的`.download` 临时文件,程序会从上次中断处开始下载。
如要强制重新下载该视频,可使用`-f` ( `--force` )选项:
2012-09-01 00:55:45 +02:00
$ you-get -f http://www.yinyuetai.com/video/463772
2012-08-20 23:54:03 +08:00
`-l` ( `--playlist` )选项用于下载播放列表(只对某些网站适用):
2012-09-01 00:55:45 +02:00
$ you-get -l http://www.youku.com/playlist_show/id_5344313.html
2012-08-20 23:54:03 +08:00
2012-09-02 14:27:35 +02:00
__注: 从0.1.3以后的版本起,`-l` 选项不再必须。You-Get可以自动识别并处理播放列表的下载。__
2012-08-20 23:54:03 +08:00
指定视频文件的下载目录:
2012-09-01 00:55:45 +02:00
$ you-get -o ~/Downloads http://www.yinyuetai.com/video/463772
2012-08-20 23:54:03 +08:00
显示详细帮助:
2012-09-01 00:55:45 +02:00
$ you-get -h
2012-08-20 23:54:03 +08:00
### 如何设置代理
默认情况下, Python自动使用系统的代理配置。可以通过环境变量`http_proxy` 来设置系统的HTTP代理。
2012-09-02 14:27:35 +02:00
`-x` ( `--http-proxy` ) 选项用于手动指定You-Get所使用的HTTP代理。例如: GoAgent的代理服务器是`http://127.0.0.1:8087` , 则通过该代理下载某YouTube视频的命令是:
2012-08-20 23:54:03 +08:00
2012-09-01 00:55:45 +02:00
$ you-get -x 127.0.0.1:8087 http://www.youtube.com/watch?v=KbtO_Ayjw0M
2012-08-20 23:54:03 +08:00
Windows下的自由门等翻墙软件会自动设置系统全局代理, 因此无需指定HTTP代理即可下载YouTube视频:
2012-09-01 00:55:45 +02:00
$ you-get http://www.youtube.com/watch?v=KbtO_Ayjw0M
2012-08-20 23:54:03 +08:00
如果不希望程序在下载过程中使用任何代理(包括系统的代理配置),可以显式地指定`--no-proxy` 选项:
2012-09-01 00:55:45 +02:00
$ you-get --no-proxy http://v.youku.com/v_show/id_XMjI0ODc1NTc2.html
2012-08-20 23:54:03 +08:00
### 断点续传
2012-09-02 14:27:35 +02:00
下载未完成时被中止(因为`Ctrl+C` 终止程序或者网络中断等原因),在目标路径中会有一个扩展名为`.download` 的临时文件。
2012-08-20 23:54:03 +08:00
下次运行只要在目标路径中找到相应的`.download` 临时文件,程序会自动从中断处继续下载。(除非指定了`-f` 选项)
2012-09-01 00:55:45 +02:00
## 使用Python 2?
2012-08-20 23:54:03 +08:00
优酷等国内视频网站的下载,请移步:[iambus/youku-lixian ](https://github.com/iambus/youku-lixian )
YouTube等国外视频网站的下载, 请移步: [rg3/youtube-dl ](https://github.com/rg3/youtube-dl )
2012-09-01 00:55:45 +02:00
## 许可证
2012-08-20 23:54:03 +08:00
2012-09-01 00:55:45 +02:00
You-Get在[MIT License ](https://raw.github.com/soimort/you-get/master/LICENSE.txt )下发布。
2013-02-28 23:03:25 +01:00
## 如何参与贡献 / 报告issue
2013-02-28 23:19:34 +01:00
请阅读 [CONTRIBUTING.md ](https://github.com/soimort/you-get/blob/master/CONTRIBUTING.md )。