1
0
mirror of https://github.com/mikf/gallery-dl.git synced 2024-11-23 03:02:50 +01:00
Go to file
Mike Fährmann cfa479fab5
update error message for unspecified exceptions
- ask user to report unexpected errors, which usually indicate
  extractor failure
- handle OSErrors separately (permissions, disk full, etc)
- revert 30eef52
2017-08-10 16:35:46 +02:00
bin update setup.py 2015-04-16 02:57:36 +02:00
docs [yonkouprod] remove module 2017-08-07 18:32:14 +02:00
gallery_dl update error message for unspecified exceptions 2017-08-10 16:35:46 +02:00
scripts update supportedsites.rst 2017-07-24 10:50:40 +02:00
test [util] update 'default' values and improve test coverage 2017-08-08 19:22:04 +02:00
.gitignore add script to collect test results in JSON format 2017-04-14 14:45:35 +02:00
.travis.yml workaround for python 3.6s behaviour with BEGIN EXCLUSIVE in sqlite 2017-01-11 00:34:32 +01:00
LICENSE initial commit 2014-10-12 21:56:44 +02:00
README.rst mention '--upgrade' in README.rst 2017-08-06 14:08:14 +02:00
requirements.txt create .travis.yml and requirements.txt files 2017-01-09 12:29:04 +01:00
setup.cfg add setup.cfg to configure flake8 2017-05-19 19:22:39 +02:00
setup.py update classifiers 2017-04-10 08:14:36 +02:00

==========
gallery-dl
==========

*gallery-dl* is a command-line program to download image-galleries and
-collections from several image hosting sites such as pixiv.net, exhentai.org,
gelbooru.com and several more (see `Supported Sites`_). It requires Python 3.3+
to run and works on Unix-like systems as well as on Windows.


|pypi| |build|

.. section-numbering::


Installation
============

Installation via pip
--------------------

The stable releases of *gallery-dl* are distributed on PyPI_ and can be
easily installed or upgraded to the latest version using pip_:

.. code:: bash

    $ pip install --upgrade gallery-dl

Installing the latest dev-version directly from GitHub can be done via
pip as well:

.. code:: bash

    $ pip install --upgrade https://github.com/mikf/gallery-dl/archive/master.zip


Manual installation via Python
------------------------------

You can also install *gallery-dl* manually:

Get the code by either

* Downloading a stable_ or dev_ archive and unpacking it
* Or via :code:`git clone`

Navigate into the respective directory and run the :code:`setup.py` file.

.. code:: bash

    $ wget https://github.com/mikf/gallery-dl/archive/master.zip
    $ unzip master.zip
    # or
    $ git clone https://github.com/mikf/gallery-dl.git

    $ cd gallery-dl
    $ python setup.py install


Standalone executable (Windows only)
------------------------------------

Windows users can download a `standalone executable`_, which comes with a
Python interpreter and all required packages included.

Put this file in your PATH or use it from the current directory and you are
good to go,


Usage
=====

To use *gallery-dl* simply call it with the URLs you wish to download images
from:

.. code:: bash

    $ gallery-dl [OPTION]... URL...

See also :code:`gallery-dl --help`.


Examples
--------

Download images; in this case from gelbooru via tag search for 'bonocho':

.. code:: bash

    $ gallery-dl "http://gelbooru.com/index.php?page=post&s=list&tags=bonocho"


Get the direct URL of an image from a site that requires authentication:

.. code:: bash

    $ gallery-dl -g -u <username> -p <password> http://seiga.nicovideo.jp/seiga/im3211703


| Search a remote resource for URLs and download images from them:
| (URLs for which no extractor can be found will be silently ignored)

.. code:: bash

    $ gallery-dl r:https://pastebin.com/raw/FLwrCYsT


Supported Sites
===============

* pixiv.net
* seiga.nicovideo.jp
* nijie.info
* bato.to
* mangastream.com
* kissmanga.com
* readcomiconline.to
* danbooru.donmai.us
* gelbooru.com
* exhentai.org
* nhentai.net
* luscious.net
* hentai-foundry.com
* deviantart.com
* tumblr.com
* `Complete List`_


Configuration
=============

Configuration files for *gallery-dl* use a JSON-based file format.
For a (more or less) complete example, see gallery-dl.conf_.
A list of all available configuration options and their
descriptions can be found in configuration.rst_.

*gallery-dl* searches for configuration files in the following paths:

+--------------------------------------------+------------------------------------------+
| Linux                                      | Windows                                  |
+--------------------------------------------+------------------------------------------+
|* ``/etc/gallery-dl.conf``                  |*                                         |
|* ``${HOME}/.config/gallery-dl/config.json``|* ``%USERPROFILE%\gallery-dl\config.json``|
|* ``${HOME}/.gallery-dl.conf``              |* ``%USERPROFILE%\gallery-dl.conf``       |
+--------------------------------------------+------------------------------------------+

(``%USERPROFILE%`` usually refers to the users home directory,
i.e. ``C:\Users\<username>\``)

Values in later configuration files will override previous ones.


Authentication
==============

Username & Password
-------------------

Some extractors require you to provide valid login-credentials in the form of
a username & password pair.
This is necessary for ``pixiv``, ``nijie`` and ``seiga`` and optional
(but strongly recommended) for ``exhentai`` and ``batoto``.

You can set the necessary information in your configuration file
(cf. gallery-dl.conf_)

.. code::

    {
        "extractor": {
            ...
            "pixiv": {
                "username": "<username>",
                "password": "<password>"
            }
            ...
        }
    }

or you can provide them directly via the
:code:`-u/--username` and :code:`-p/--password` or via the
:code:`-o/--option` command-line options

.. code:: bash

    $ gallery-dl -u <username> -p <password> URL
    $ gallery-dl -o username=<username> -o password=<password> URL

OAuth
-----

*gallery-dl* supports user authentication via OAuth_ for ``flickr`` and
``reddit``. This is entirely optional, but grants *gallery-dl* the ability
to issue requests on your account's behalf and enables it to access resources
which would otherwise be unavailable to a public user.

To link your account to *gallery-dl*, start by invoking it with
``oauth:<site-name>`` as an argument. For example:

.. code:: bash

    $ gallery-dl oauth:flickr

You will be sent to the site's authorization page and asked to grant read
access to *gallery-dl*. Authorize it and you will he shown one or more
"tokens", which should be added to your configuration file.


.. _gallery-dl.conf:       https://github.com/mikf/gallery-dl/blob/master/docs/gallery-dl.conf
.. _configuration.rst:     https://github.com/mikf/gallery-dl/blob/master/docs/configuration.rst
.. _Complete List:         https://github.com/mikf/gallery-dl/blob/master/docs/supportedsites.rst
.. _standalone executable: https://github.com/mikf/gallery-dl/releases/download/v0.9.1/gallery-dl.exe
.. _Python:   https://www.python.org/downloads/
.. _Requests: https://pypi.python.org/pypi/requests/
.. _PyPI:     https://pypi.python.org/pypi
.. _pip:      https://pip.pypa.io/en/stable/
.. _stable:   https://github.com/mikf/gallery-dl/archive/v0.9.1.zip
.. _dev:      https://github.com/mikf/gallery-dl/archive/master.zip
.. _OAuth:    https://en.wikipedia.org/wiki/OAuth

.. |pypi| image:: https://img.shields.io/pypi/v/gallery-dl.svg
    :target: https://pypi.python.org/pypi/gallery-dl

.. |build| image:: https://travis-ci.org/mikf/gallery-dl.svg?branch=master
    :target: https://travis-ci.org/mikf/gallery-dl