/you-get

:arrow_double_down: A YouTube/Youku/Niconico video downloader written in Python 3

Primary LanguagePythonOtherNOASSERTION

You-Get

Build Status PyPI version Gitter

You-Get is a video downloader for YouTube, Youku, niconico and a few other sites.

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:

$ you-get http://youtu.be/sGwy8DsUJ4M

Fork me on GitHub: https://github.com/soimort/you-get

Features

Supported Sites

Prerequisites

Python 3

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)

Installation

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:

  • 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)

On other systems (which tend to have quite evil user experience), please read the documentation and ask Google for help:

1. Using Pip (Standard Method)

$ [sudo] pip3 install you-get

Check if the installation is successful:

$ you-get -V

2. Downloading from PyPI

You can also download the Python wheel for each release from PyPI.

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 or:

$ wget -O you-get.zip https://github.com/soimort/you-get/zipball/master
$ unzip you-get.zip

Use the raw script without installation:

$ cd soimort-you-get-*/
$ ./you-get -V

To install the package into the system path, execute:

$ [sudo] make install

Check if the installation is successful:

$ you-get -V

4. Using Git (Recommended for Developers and Advanced Users)

$ git clone git://github.com/soimort/you-get.git

Use the raw script without installation:

$ cd you-get/
$ ./you-get -V

To install the package into the system path, execute:

$ [sudo] make install

Check if the installation is successful:

$ you-get -V

Upgrading

1. Using Pip

$ [sudo] pip3 install --upgrade you-get

Getting Started

Display the information of a video without downloading:

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

Download a 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'

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 option -f: (this will overwrite any existing video or temporary file)

$ 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'

Use a specific HTTP proxy for downloading:

$ 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, 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.

Q: Will you release an executable version / Windows Installer package?

A: Yes, it's on my to-do list.

Command-Line Options

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.

Reporting an Issue / Contributing

Please read CONTRIBUTING.md first.