2013-03-13 04:07:08 +04:00
# You-Get
2012-08-20 19:54:03 +04:00
2013-10-08 16:43:03 +04:00
[![Build Status ](https://api.travis-ci.org/soimort/you-get.png )](https://travis-ci.org/soimort/you-get) [![PyPI version ](https://badge.fury.io/py/you-get.png )](http://badge.fury.io/py/you-get)
2013-03-15 02:17:34 +04:00
2014-09-21 08:56:28 +04:00
[You-Get ](http://www.soimort.org/you-get ) is a video downloader for [YouTube ](http://www.youtube.com ), [Youku ](http://www.youku.com ), [niconico ](http://www.nicovideo.jp ) and a few other sites.
2012-08-20 19:54:03 +04:00
2014-09-21 08:56:28 +04:00
`you-get` is a command-line program, written completely in Python 3. Its prospective users are those who prefer CLI over GUI. With `you-get` , downloading a video is just one command away:
2012-08-20 19:54:03 +04:00
2014-09-21 08:56:28 +04:00
$ you-get http://youtu.be/sGwy8DsUJ4M
2012-09-01 02:55:45 +04:00
2014-09-21 08:56:28 +04:00
Fork me on GitHub: < https: / / github . com / soimort / you-get >
2013-10-30 11:06:33 +04:00
2012-09-01 02:55:45 +04:00
## Features
2014-09-21 08:56:28 +04:00
### Supported Sites
First-class (better maintained):
2012-09-01 02:55:45 +04:00
2012-09-25 02:35:53 +04:00
* Dailymotion < http: // dailymotion . com >
2014-09-21 08:56:28 +04:00
* Freesound < http: // www . freesound . org >
2012-10-16 01:21:29 +04:00
* Google+ < http: // plus . google . com >
2013-06-20 23:13:35 +04:00
* Instagram < http: // instagram . com >
2014-09-21 08:56:28 +04:00
* JPopsuki < http: // jpopsuki . tv >
2014-02-15 01:35:40 +04:00
* Magisto < http: // www . magisto . com >
2013-01-31 19:47:41 +04:00
* Mixcloud < http: // www . mixcloud . com >
2013-02-08 08:09:42 +04:00
* Niconico (ニコニコ動画) < http: // www . nicovideo . jp >
2014-09-21 08:56:28 +04:00
* Vimeo < http: // vimeo . com >
* Vine < http: // vine . co >
2012-09-02 16:27:35 +04:00
* Youku (优酷) < http: // www . youku . com >
2014-09-21 08:56:28 +04:00
* YouTube < http: // www . youtube . com >
Others:
2014-07-31 00:52:40 +04:00
* AcFun < http: // www . acfun . tv >
2014-09-21 08:56:28 +04:00
* Alive.in.th < http: // alive . in . th >
* Baidu Music (百度音乐) < http: // music . baidu . com >
* Baidu Wangpan (百度网盘) < http: // pan . baidu . com >
2014-06-18 03:14:11 +04:00
* bilibili < http: // www . bilibili . com >
2014-09-21 08:56:28 +04:00
* Blip < http: // blip . tv >
* Catfun (喵星球) < http: // www . catfun . tv >
* CBS < http: // www . cbs . com >
2012-09-02 16:27:35 +04:00
* CNTV (中国网络电视台) < http: // www . cntv . cn >
2014-09-21 08:56:28 +04:00
* Coursera < https: // www . coursera . org >
2013-02-23 22:43:52 +04:00
* Douban (豆瓣) < http: // douban . com >
2014-09-21 08:56:28 +04:00
* eHow < http: // www . ehow . com >
* Facebook < http: // facebook . com >
* Google Drive < http: // docs . google . com >
2012-09-02 17:22:21 +04:00
* ifeng (凤凰视频) < http: // v . ifeng . com >
2012-09-02 16:27:35 +04:00
* iQIYI (爱奇艺) < http: // www . iqiyi . com >
2013-01-27 19:54:11 +04:00
* Joy.cn (激动网) < http: // www . joy . cn >
2014-09-21 08:56:28 +04:00
* Khan Academy < http: // www . khanacademy . org >
2012-09-02 16:27:35 +04:00
* Ku6 (酷6网) < http: // www . ku6 . com >
2014-09-21 08:56:28 +04:00
* Kugou (酷狗音乐) < http: // www . kugou . com >
* Kuwo (酷我音乐) < http: // www . kuwo . cn >
2014-01-22 01:55:58 +04:00
* LeTV (乐视网) < http: // www . letv . com >
2013-02-23 02:30:51 +04:00
* MioMio < http: // www . miomio . tv >
2014-09-21 08:56:28 +04:00
* MTV 81 < http: // www . mtv81 . com >
2013-01-11 21:18:51 +04:00
* NetEase (网易视频) < http: // v . 163 . com >
2014-07-16 07:23:40 +04:00
* NetEase Music (网易云音乐) < http: // music . 163 . com >
2012-09-02 16:27:35 +04:00
* PPTV < http: // www . pptv . com >
2012-12-01 20:25:33 +04:00
* QQ (腾讯视频) < http: // v . qq . com >
2012-09-02 16:27:35 +04:00
* Sina (新浪视频) < http: // video . sina . com . cn >
* Sohu (搜狐视频) < http: // tv . sohu . com >
2013-04-14 20:29:08 +04:00
* SongTaste < http: // www . songtaste . com >
2014-09-21 08:56:28 +04:00
* SoundCloud < http: // soundcloud . com >
* TED < http: // www . ted . com >
* Tudou (土豆) < http: // www . tudou . com >
* Tumblr < http: // www . tumblr . com >
* VID48 < http: // vid48 . com >
2014-08-12 01:27:37 +04:00
* VideoBam < http: // videobam . com >
2014-09-21 08:56:28 +04:00
* VK < http: // vk . com >
* 56 (56网) < http: // www . 56 . com >
* Xiami (虾米) < http: // www . xiami . com >
* YinYueTai (音悦台) < http: // www . yinyuetai . com >
## Prerequisites
2012-09-01 02:55:45 +04:00
2014-09-21 08:56:28 +04:00
### Python 3
2012-09-19 01:47:34 +04:00
2014-09-21 08:56:28 +04:00
`you-get` is known to work with:
* Python 3.2
* Python 3.3
* Python 3.4
* PyPy3
`you-get` does not (and will never) work with Python 2.x.
### Dependencies (Optional but Recommended)
* [FFmpeg ](http://ffmpeg.org ) or [Libav ](http://libav.org/ )
* For video and audio processing.
* [RTMPDump ](http://rtmpdump.mplayerhq.hu/ )
* For RTMP stream processing.
2012-09-19 01:47:34 +04:00
2012-09-01 02:55:45 +04:00
## Installation
2014-09-21 08:56:28 +04:00
You don't have to learn the Python programming language to use this tool. However, you need to make sure that Python 3 (with pip) is installed on your system.
On Linux and BSD, installation made easy with your package manager:
2012-09-01 02:55:45 +04:00
2014-09-21 08:56:28 +04:00
* Find and install packages: `python3` and `python3-pip` (if your distro did not make Python 3 the default, e.g., Debian)
* Or packages: `python` and `python-pip` (if your distro made Python 3 the default, e.g., Arch)
2014-02-15 01:35:40 +04:00
2014-09-21 08:56:28 +04:00
On other systems (which tend to have quite evil user experience), please read the documentation and ask Google for help:
* < https: // www . python . org / downloads />
* < https: // pip . pypa . io / en / latest / installing . html >
### 1. Using Pip (Standard Method)
$ [sudo] pip3 install you-get
Check if the installation is successful:
2014-02-15 01:35:40 +04:00
2012-09-01 02:55:45 +04:00
$ you-get -V
2014-09-21 08:56:28 +04:00
### 2. Using Git (Recommended for Developers and Advanced Users)
2012-09-19 00:56:52 +04:00
$ git clone git://github.com/soimort/you-get.git
2014-02-15 01:35:40 +04:00
2014-09-21 08:56:28 +04:00
Use the raw script without installation:
2014-02-15 01:35:40 +04:00
2012-09-19 00:56:52 +04:00
$ cd you-get/
2012-09-01 02:55:45 +04:00
$ ./you-get -V
2014-02-15 01:35:40 +04:00
2014-09-21 08:56:28 +04:00
To install the package into the system path, execute:
2014-02-15 01:35:40 +04:00
2014-09-21 08:56:28 +04:00
$ [sudo] make install
2014-02-15 01:35:40 +04:00
2014-09-21 08:56:28 +04:00
Check if the installation is successful:
2014-02-15 01:35:40 +04:00
2012-09-01 02:55:45 +04:00
$ you-get -V
2014-09-21 08:56:28 +04:00
### 3. Direct Download
Download it [here ](https://github.com/soimort/you-get/zipball/master ) or:
2014-02-15 01:35:40 +04:00
2012-09-19 00:56:52 +04:00
$ wget -O you-get.zip https://github.com/soimort/you-get/zipball/master
$ unzip you-get.zip
2014-02-15 01:35:40 +04:00
2014-09-21 08:56:28 +04:00
Use the raw script without installation:
2014-02-15 01:35:40 +04:00
2012-09-19 00:56:52 +04:00
$ cd soimort-you-get-*/
2012-09-01 02:55:45 +04:00
$ ./you-get -V
2014-02-15 01:35:40 +04:00
2014-09-21 08:56:28 +04:00
To install the package into the system path, execute:
2014-02-15 01:35:40 +04:00
2014-09-21 08:56:28 +04:00
$ [sudo] make install
2014-02-15 01:35:40 +04:00
2014-09-21 08:56:28 +04:00
Check if the installation is successful:
2014-02-15 01:35:40 +04:00
2012-09-01 02:55:45 +04:00
$ you-get -V
2013-10-30 11:42:34 +04:00
## Upgrading
2013-03-02 07:09:23 +04:00
2014-09-21 08:56:28 +04:00
### 1. Using Pip
2013-03-02 07:09:23 +04:00
2014-09-21 08:56:28 +04:00
$ [sudo] pip3 install --upgrade you-get
2013-03-02 07:09:23 +04:00
2014-09-21 08:56:28 +04:00
## Getting Started
2012-09-01 02:55:45 +04:00
2014-09-21 08:56:28 +04:00
Display the information of a video without downloading:
2012-09-01 02:55:45 +04:00
2014-09-21 08:56:28 +04:00
$ you-get -i 'http://www.youtube.com/watch?v=sGwy8DsUJ4M'
2012-09-01 02:55:45 +04:00
2014-09-21 08:56:28 +04:00
Download a video:
2012-09-01 02:55:45 +04:00
2014-09-21 08:56:28 +04:00
$ you-get 'http://www.youtube.com/watch?v=sGwy8DsUJ4M'
2012-09-01 02:55:45 +04:00
Download multiple videos:
2014-09-21 08:56:28 +04:00
$ you-get 'http://www.youtube.com/watch?v=sGwy8DsUJ4M' 'http://www.youtube.com/watch?v=8bQlxQJEzLk'
2012-09-01 02:55:45 +04:00
2014-09-21 08:56:28 +04: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` extension in its file name) is found, program will resume the download from last session.
2012-09-01 02:55:45 +04:00
2014-09-21 08:56:28 +04:00
To enforce re-downloading of videos, use option `-f` : (this will overwrite any existing video or temporary file)
2012-09-01 02:55:45 +04:00
2014-09-21 08:56:28 +04:00
$ you-get -f 'http://www.youtube.com/watch?v=sGwy8DsUJ4M'
2012-09-01 02:55:45 +04:00
2012-09-02 16:27:35 +04:00
Set the output directory for downloaded files:
2012-09-01 02:55:45 +04:00
2014-09-21 08:56:28 +04:00
$ you-get -o ~/Downloads 'http://www.youtube.com/watch?v=sGwy8DsUJ4M'
2012-09-01 02:55:45 +04:00
Use a specific HTTP proxy for downloading:
2014-09-21 08:56:28 +04:00
$ you-get -x 127.0.0.1:8087 'http://www.youtube.com/watch?v=sGwy8DsUJ4M'
By default, the system proxy setting (i.e. environment variable `http_proxy` on *nix) is applied. To disable any proxy, use option `--no-proxy` :
$ you-get --no-proxy 'http://www.youtube.com/watch?v=sGwy8DsUJ4M'
Watch a video in your media player of choice: (this is just a trick to let you get rid of annoying ads on the video site)
$ you-get -p vlc 'http://www.youtube.com/watch?v=sGwy8DsUJ4M'
## FAQ
**Q**: Some videos on Youku are restricted to mainland China visitors. Is it possible to bypass this restriction and download those videos?
**A**: Thanks to [Unblock Youku ](https://github.com/zhuzhuor/Unblock-Youku ), it is now possible to access such videos from an oversea IP address. You can simply use `you-get` with option `-y proxy.uku.im:8888` .
2012-09-01 02:55:45 +04:00
2014-09-21 08:56:28 +04:00
**Q**: Will you release an executable version / Windows Installer package?
2012-09-01 02:55:45 +04:00
2014-09-21 08:56:28 +04:00
**A**: Maybe, but never a priority.
2012-09-01 02:55:45 +04:00
## Command-Line Options
2014-09-21 08:56:28 +04:00
For a complete list of available options, see:
```
$ you-get --help
Usage: you-get [OPTION]... [URL]...
Startup options:
-V | --version Display the version and exit.
-h | --help Print this help and exit.
Download options (use with URLs):
-f | --force Force overwriting existed files.
-i | --info Display the information of videos without downloading.
-u | --url Display the real URLs of videos without downloading.
-c | --cookies Load NetScape's cookies.txt file.
-n | --no-merge Don't merge video parts.
-F | --format < STREAM_ID > Video format code.
-o | --output-dir < PATH > Set the output directory for downloaded videos.
-p | --player < PLAYER [ options ] > Directly play the video with PLAYER like vlc/smplayer.
-x | --http-proxy < HOST:PORT > Use specific HTTP proxy for downloading.
-y | --extractor-proxy < HOST:PORT > Use specific HTTP proxy for extracting stream data.
--no-proxy Don't use any proxy. (ignore $http_proxy)
--debug Show traceback on KeyboardInterrupt.
```
2012-09-01 02:55:45 +04:00
## License
You-Get is licensed under the [MIT license ](https://raw.github.com/soimort/you-get/master/LICENSE.txt ).
2014-09-21 08:56:28 +04:00
## Reporting an Issue / Contributing
2013-03-01 02:03:25 +04:00
2014-09-21 08:56:28 +04:00
Please read [CONTRIBUTING.md ](https://github.com/soimort/you-get/blob/master/CONTRIBUTING.md ) first.