|
@@ -2,198 +2,239 @@
|
|
|
|
|
|
[](https://travis-ci.org/soimort/you-get) [](http://badge.fury.io/py/you-get)
|
|
|
|
|
|
-[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.
|
|
|
+[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.
|
|
|
|
|
|
-See the project homepage <http://www.soimort.org/you-get> for further documentation.
|
|
|
+`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:
|
|
|
|
|
|
-Fork me on GitHub: <https://github.com/soimort/you-get>
|
|
|
+ $ you-get http://youtu.be/sGwy8DsUJ4M
|
|
|
|
|
|
-__中文说明__已移至[wiki](https://github.com/soimort/you-get/wiki/%E4%B8%AD%E6%96%87%E8%AF%B4%E6%98%8E)。
|
|
|
+Fork me on GitHub: <https://github.com/soimort/you-get>
|
|
|
|
|
|
## Features
|
|
|
|
|
|
-### Supported Sites (As of Now)
|
|
|
+### Supported Sites
|
|
|
+
|
|
|
+First-class (better maintained):
|
|
|
|
|
|
-* YouTube <http://www.youtube.com>
|
|
|
-* Vimeo <http://vimeo.com>
|
|
|
-* Coursera <https://www.coursera.org>
|
|
|
-* Blip <http://blip.tv>
|
|
|
-* CBS <http://www.cbs.com>
|
|
|
* Dailymotion <http://dailymotion.com>
|
|
|
-* eHow <http://www.ehow.com>
|
|
|
-* Facebook <http://facebook.com>
|
|
|
+* Freesound <http://www.freesound.org>
|
|
|
* Google+ <http://plus.google.com>
|
|
|
-* Google Drive <http://docs.google.com>
|
|
|
-* Khan Academy <http://www.khanacademy.org>
|
|
|
-* TED <http://www.ted.com>
|
|
|
-* Tumblr <http://www.tumblr.com>
|
|
|
-* Vine <http://vine.co>
|
|
|
* Instagram <http://instagram.com>
|
|
|
+* JPopsuki <http://jpopsuki.tv>
|
|
|
* Magisto <http://www.magisto.com>
|
|
|
-* SoundCloud <http://soundcloud.com>
|
|
|
* Mixcloud <http://www.mixcloud.com>
|
|
|
-* Freesound <http://www.freesound.org>
|
|
|
-* JPopsuki <http://jpopsuki.tv>
|
|
|
-* MTV 81 <http://www.mtv81.com>
|
|
|
-* VID48 <http://vid48.com>
|
|
|
* Niconico (ニコニコ動画) <http://www.nicovideo.jp>
|
|
|
+* Vimeo <http://vimeo.com>
|
|
|
+* Vine <http://vine.co>
|
|
|
* Youku (优酷) <http://www.youku.com>
|
|
|
-* Tudou (土豆) <http://www.tudou.com>
|
|
|
-* YinYueTai (音悦台) <http://www.yinyuetai.com>
|
|
|
+* YouTube <http://www.youtube.com>
|
|
|
+
|
|
|
+Others:
|
|
|
+
|
|
|
* AcFun <http://www.acfun.tv>
|
|
|
+* Alive.in.th <http://alive.in.th>
|
|
|
+* Baidu Music (百度音乐) <http://music.baidu.com>
|
|
|
+* Baidu Wangpan (百度网盘) <http://pan.baidu.com>
|
|
|
* bilibili <http://www.bilibili.com>
|
|
|
+* Blip <http://blip.tv>
|
|
|
+* Catfun (喵星球) <http://www.catfun.tv>
|
|
|
+* CBS <http://www.cbs.com>
|
|
|
* CNTV (中国网络电视台) <http://www.cntv.cn>
|
|
|
+* Coursera <https://www.coursera.org>
|
|
|
* Douban (豆瓣) <http://douban.com>
|
|
|
+* eHow <http://www.ehow.com>
|
|
|
+* Facebook <http://facebook.com>
|
|
|
+* Google Drive <http://docs.google.com>
|
|
|
* ifeng (凤凰视频) <http://v.ifeng.com>
|
|
|
* iQIYI (爱奇艺) <http://www.iqiyi.com>
|
|
|
* Joy.cn (激动网) <http://www.joy.cn>
|
|
|
+* Khan Academy <http://www.khanacademy.org>
|
|
|
* Ku6 (酷6网) <http://www.ku6.com>
|
|
|
+* Kugou (酷狗音乐) <http://www.kugou.com>
|
|
|
+* Kuwo (酷我音乐) <http://www.kuwo.cn>
|
|
|
* LeTV (乐视网) <http://www.letv.com>
|
|
|
* MioMio <http://www.miomio.tv>
|
|
|
+* MTV 81 <http://www.mtv81.com>
|
|
|
* NetEase (网易视频) <http://v.163.com>
|
|
|
* NetEase Music (网易云音乐) <http://music.163.com>
|
|
|
* PPTV <http://www.pptv.com>
|
|
|
* QQ (腾讯视频) <http://v.qq.com>
|
|
|
* Sina (新浪视频) <http://video.sina.com.cn>
|
|
|
* Sohu (搜狐视频) <http://tv.sohu.com>
|
|
|
-* 56 (56网) <http://www.56.com>
|
|
|
-* Xiami (虾米) <http://www.xiami.com>
|
|
|
-* Kugou (酷狗音乐) <http://www.kugou.com>
|
|
|
-* Kuwo (酷我音乐) <http://www.kuwo.cn>
|
|
|
-* Baidu Music (百度音乐) <http://music.baidu.com>
|
|
|
-* Baidu Wangpan (百度网盘) <http://pan.baidu.com>
|
|
|
* SongTaste <http://www.songtaste.com>
|
|
|
-* Alive.in.th <http://alive.in.th>
|
|
|
-* VK <http://vk.com>
|
|
|
-* Catfun (喵星球) <http://www.catfun.tv>
|
|
|
+* SoundCloud <http://soundcloud.com>
|
|
|
+* TED <http://www.ted.com>
|
|
|
+* Tudou (土豆) <http://www.tudou.com>
|
|
|
+* Tumblr <http://www.tumblr.com>
|
|
|
+* VID48 <http://vid48.com>
|
|
|
* VideoBam <http://videobam.com>
|
|
|
+* VK <http://vk.com>
|
|
|
+* 56 (56网) <http://www.56.com>
|
|
|
+* Xiami (虾米) <http://www.xiami.com>
|
|
|
+* YinYueTai (音悦台) <http://www.yinyuetai.com>
|
|
|
+
|
|
|
+## Prerequisites
|
|
|
|
|
|
-## Dependencies
|
|
|
+### Python 3
|
|
|
|
|
|
-* [Python 3](http://www.python.org/download/releases/)
|
|
|
-* __(Optional)__ [FFmpeg](http://ffmpeg.org) / [Libav](http://libav.org/)
|
|
|
- * For converting and joining video files.
|
|
|
-* __(Optional)__ [RTMPDump](http://rtmpdump.mplayerhq.hu/)
|
|
|
- * For processing RTMP streams.
|
|
|
+`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.
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
-### 1. Install via Pip:
|
|
|
+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:
|
|
|
|
|
|
- $ [sudo] pip3 install --pre you-get
|
|
|
+* 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)
|
|
|
|
|
|
- Check if the installation was successful:
|
|
|
+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:
|
|
|
|
|
|
$ you-get -V
|
|
|
|
|
|
-### 2. Install from Git:
|
|
|
+### 2. Using Git (Recommended for Developers and Advanced Users)
|
|
|
|
|
|
$ git clone git://github.com/soimort/you-get.git
|
|
|
|
|
|
- Use the raw script without installation:
|
|
|
+Use the raw script without installation:
|
|
|
|
|
|
$ cd you-get/
|
|
|
$ ./you-get -V
|
|
|
|
|
|
- To install the package into the system path, execute:
|
|
|
+To install the package into the system path, execute:
|
|
|
|
|
|
- $ make install
|
|
|
+ $ [sudo] make install
|
|
|
|
|
|
- Check if the installation was successful:
|
|
|
+Check if the installation is successful:
|
|
|
|
|
|
$ you-get -V
|
|
|
|
|
|
-### 3. Direct download (from <https://github.com/soimort/you-get/zipball/master>):
|
|
|
+### 3. Direct Download
|
|
|
+
|
|
|
+Download it [here](https://github.com/soimort/you-get/zipball/master) or:
|
|
|
|
|
|
$ wget -O you-get.zip https://github.com/soimort/you-get/zipball/master
|
|
|
$ unzip you-get.zip
|
|
|
|
|
|
- Use the raw script without installation:
|
|
|
+Use the raw script without installation:
|
|
|
|
|
|
$ cd soimort-you-get-*/
|
|
|
$ ./you-get -V
|
|
|
|
|
|
- To install the package into the system path, execute:
|
|
|
+To install the package into the system path, execute:
|
|
|
|
|
|
- $ make install
|
|
|
+ $ [sudo] make install
|
|
|
|
|
|
- Check if the installation was successful:
|
|
|
+Check if the installation is successful:
|
|
|
|
|
|
$ you-get -V
|
|
|
|
|
|
-### 4. Install from your distro's repo:
|
|
|
-
|
|
|
-* __AUR (Arch)__: <https://aur.archlinux.org/packages/?O=0&K=you-get>
|
|
|
-
|
|
|
-* __Overlay (Gentoo)__: <http://gpo.zugaina.org/net-misc/you-get>
|
|
|
-
|
|
|
## Upgrading
|
|
|
|
|
|
-Using Pip:
|
|
|
+### 1. Using Pip
|
|
|
|
|
|
- $ [sudo] pip install --upgrade you-get
|
|
|
+ $ [sudo] pip3 install --upgrade you-get
|
|
|
|
|
|
-## Examples
|
|
|
+## Getting Started
|
|
|
|
|
|
-Display the information of the video without downloading:
|
|
|
+Display the information of a video without downloading:
|
|
|
|
|
|
- $ you-get -i http://www.youtube.com/watch?v=sGwy8DsUJ4M
|
|
|
+ $ you-get -i 'http://www.youtube.com/watch?v=sGwy8DsUJ4M'
|
|
|
|
|
|
-Download the video:
|
|
|
+Download a video:
|
|
|
|
|
|
- $ you-get http://www.youtube.com/watch?v=sGwy8DsUJ4M
|
|
|
+ $ 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
|
|
|
+ $ you-get 'http://www.youtube.com/watch?v=sGwy8DsUJ4M' 'http://www.youtube.com/watch?v=8bQlxQJEzLk'
|
|
|
|
|
|
-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.
|
|
|
+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.
|
|
|
|
|
|
-To enforce re-downloading of videos, use '-f' option (this will overwrite any existing video or temporary file, rather than skipping or resuming them):
|
|
|
+To enforce re-downloading of videos, use option `-f`: (this will overwrite any existing video or temporary file)
|
|
|
|
|
|
- $ you-get -f http://www.youtube.com/watch?v=sGwy8DsUJ4M
|
|
|
+ $ you-get -f 'http://www.youtube.com/watch?v=sGwy8DsUJ4M'
|
|
|
|
|
|
Set the output directory for downloaded files:
|
|
|
|
|
|
- $ you-get -o ~/Downloads http://www.youtube.com/watch?v=sGwy8DsUJ4M
|
|
|
+ $ 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
|
|
|
+ $ 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`.
|
|
|
|
|
|
-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:
|
|
|
+**Q**: Will you release an executable version / Windows Installer package?
|
|
|
|
|
|
- $ you-get --no-proxy http://www.youtube.com/watch?v=sGwy8DsUJ4M
|
|
|
+**A**: Maybe, but never a priority.
|
|
|
|
|
|
## Command-Line Options
|
|
|
|
|
|
-For a complete list of all 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.
|
|
|
- -n | --no-merge Don't merge video parts.
|
|
|
- -F | --format <STREAM_ID> Video format code.
|
|
|
- -c | --cookies Load NetScape's cookies.txt file.
|
|
|
- -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.
|
|
|
+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.
|
|
|
+```
|
|
|
|
|
|
## License
|
|
|
|
|
|
You-Get is licensed under the [MIT license](https://raw.github.com/soimort/you-get/master/LICENSE.txt).
|
|
|
|
|
|
-## Contributing
|
|
|
+## Reporting an Issue / Contributing
|
|
|
|
|
|
-Please see [CONTRIBUTING.md](https://github.com/soimort/you-get/blob/master/CONTRIBUTING.md).
|
|
|
+Please read [CONTRIBUTING.md](https://github.com/soimort/you-get/blob/master/CONTRIBUTING.md) first.
|