you-get/README.md

254 lines
9.1 KiB
Markdown
Raw Normal View History

# You-Get
2012-08-20 19:54:03 +04:00
2015-01-29 10:39:54 +03: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) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/soimort/you-get?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
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>
2012-09-01 02:55:45 +04:00
## Features
2014-09-21 08:56:28 +04:00
### Supported Sites
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>
* Niconico (ニコニコ動画) <http://www.nicovideo.jp>
2014-09-21 08:56:28 +04:00
* Vimeo <http://vimeo.com>
* Vine <http://vine.co>
2015-06-14 19:05:44 +03:00
* Twitter <http://twitter.com>
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>
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-11-12 00:37:54 +03:00
* Baomihua (爆米花) <http://video.baomihua.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>
2014-11-01 19:22:23 +03:00
* Dongting (天天动听) <http://www.dongting.com>
2013-02-23 22:43:52 +04:00
* Douban (豆瓣) <http://douban.com>
2014-11-01 14:20:39 +03:00
* DouyuTV (斗鱼) <http://www.douyutv.com>
2014-09-21 08:56:28 +04:00
* eHow <http://www.ehow.com>
* Facebook <http://facebook.com>
2015-09-02 22:37:50 +03:00
* Fun.tv (风行, Funshion) <http://www.fun.tv>
2014-09-21 08:56:28 +04:00
* 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>
* LeTV (乐视网) <http://www.letv.com>
2015-04-02 05:39:39 +03:00
* Lizhi.fm (荔枝FM) <http://www.lizhi.fm>
2015-09-02 22:37:50 +03:00
* Metacafe <http://www.metacafe.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>
2015-09-02 22:37:50 +03:00
* QianMo (阡陌视频) <http://qianmo.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>
2015-09-02 22:37:50 +03:00
* Weibo Miaopai (新浪微博秒拍视频) <http://video.weibo.com>
2012-09-02 16:27:35 +04:00
* 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>
2014-11-16 17:54:57 +03:00
* Zhanqi (战旗TV) <http://www.zhanqi.tv/lives>
2014-09-21 08:56:28 +04:00
## 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 09:36:45 +04:00
### 2. Downloading from PyPI
2012-09-19 00:56:52 +04:00
2014-09-21 09:36:45 +04:00
You can also download the Python wheel for each release from [PyPI](https://pypi.python.org/pypi/you-get).
If you choose to download the wheel from a PyPI mirror or elsewhere, remember to verify the signature of the package. For example:
$ gpg --verify you_get-0.3.30-py3-none-any.whl.asc you_get-0.3.30-py3-none-any.whl
### 3. Downloading from GitHub
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
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
2014-09-21 09:36:45 +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
2014-09-21 09:36:45 +04:00
### 4. Using Git (Recommended for Developers and Advanced Users)
2014-09-21 08:56:28 +04:00
2014-09-21 09:36:45 +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
2014-09-21 09:36:45 +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
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-11-02 12:16:25 +03:00
**A**: Yes, it's on my to-do list.
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.