1
0
mirror of https://github.com/mikf/gallery-dl.git synced 2024-11-22 10:42:34 +01:00
gallery-dl/README.rst

274 lines
7.9 KiB
ReStructuredText
Raw Normal View History

2015-11-03 22:08:19 +01:00
==========
gallery-dl
==========
2017-05-09 15:43:55 +02:00
*gallery-dl* is a command-line program to download image-galleries and
-collections from several image hosting sites (see `Supported Sites`_).
It is a cross-platform tool with many configuration options
and powerful filenaming capabilities.
2016-07-25 11:13:54 +02:00
2015-11-03 22:08:19 +01:00
2018-01-09 15:10:40 +01:00
|pypi| |build| |gitter|
2017-01-25 02:31:36 +01:00
Dependencies
============
- Python_ 3.4+
- Requests_
Optional
--------
- FFmpeg_: Pixiv Ugoira to WebM conversion
- youtube-dl_: Video downloads
2017-01-25 02:31:36 +01:00
2015-11-03 22:08:19 +01:00
Installation
2015-11-10 21:13:43 +01:00
============
2015-11-03 22:08:19 +01:00
Pip
---
2017-05-09 15:43:55 +02:00
The stable releases of *gallery-dl* are distributed on PyPI_ and can be
2017-10-27 15:45:38 +02:00
easily installed or upgraded using pip_:
2017-05-09 15:43:55 +02:00
.. code:: bash
$ python3 -m pip install --upgrade gallery-dl
2017-05-09 15:43:55 +02:00
2017-10-27 15:45:38 +02:00
Installing the latest dev-version directly from GitHub can be done with
pip_ as well:
2015-11-03 22:08:19 +01:00
.. code:: bash
$ python3 -m pip install --upgrade https://github.com/mikf/gallery-dl/archive/master.tar.gz
2015-11-03 22:08:19 +01:00
Note: Windows users should use :code:`py -3` instead of :code:`python3`.
2017-05-09 15:43:55 +02:00
2019-11-08 22:34:56 +01:00
| It is advised to use the latest version of pip_,
including the essential packages :code:`setuptools` and :code:`wheel`.
| To ensure that these packages are up-to-date, run
.. code:: bash
$ python3 -m pip install --upgrade pip setuptools wheel
2017-05-09 15:43:55 +02:00
From Source
-----------
2017-06-02 09:08:08 +02:00
Get the code by either
* Downloading a stable_ or dev_ archive and unpacking it
* Or via :code:`git clone https://github.com/mikf/gallery-dl.git`
2017-06-02 09:08:08 +02:00
Navigate into the respective directory and run the :code:`setup.py` file.
2015-11-03 22:08:19 +01:00
.. code:: bash
$ wget https://github.com/mikf/gallery-dl/archive/master.tar.gz
$ tar -xf master.tar.gz
2017-06-02 09:08:08 +02:00
# or
2015-11-03 22:08:19 +01:00
$ git clone https://github.com/mikf/gallery-dl.git
2017-06-02 09:08:08 +02:00
$ cd gallery-dl*
$ python3 setup.py install
2017-05-09 15:43:55 +02:00
2015-11-03 22:08:19 +01:00
2019-05-04 22:50:00 +02:00
Standalone Executable
---------------------
2017-05-09 15:43:55 +02:00
2019-05-04 22:50:00 +02:00
Download a standalone executable file,
put it into your `PATH <https://en.wikipedia.org/wiki/PATH_(variable)>`__,
and run it inside a command prompt (like ``cmd.exe``).
2020-05-02 22:18:56 +02:00
- `Windows <https://github.com/mikf/gallery-dl/releases/download/v1.13.6/gallery-dl.exe>`__
- `Linux <https://github.com/mikf/gallery-dl/releases/download/v1.13.6/gallery-dl.bin>`__
2019-05-04 22:50:00 +02:00
These executables include a Python 3.8 interpreter
2019-05-04 22:50:00 +02:00
and all required Python packages.
2017-06-02 09:08:08 +02:00
2017-01-25 02:31:36 +01:00
Snap
----
Linux users that are using a distro that is supported by Snapd_ can install *gallery-dl* from the Snap Store:
.. code:: bash
$ snap install gallery-dl
2017-01-24 02:36:43 +01:00
Chocolatey
----
Windows users that have Chocolatey_ installed can install *gallery-dl* from the Chocolatey Community Packages repository:
.. code:: powershell
$ choco install gallery-dl
2019-05-04 22:50:00 +02:00
2015-11-03 22:08:19 +01:00
Usage
2015-11-10 21:13:43 +01:00
=====
2015-11-03 22:08:19 +01:00
2017-05-09 15:43:55 +02:00
To use *gallery-dl* simply call it with the URLs you wish to download images
2017-01-24 02:36:43 +01:00
from:
2016-11-10 16:22:59 +01:00
2015-11-03 22:08:19 +01:00
.. code:: bash
2017-01-24 02:36:43 +01:00
$ gallery-dl [OPTION]... URL...
2015-11-03 22:08:19 +01:00
2016-11-10 16:22:59 +01:00
See also :code:`gallery-dl --help`.
2017-01-24 02:36:43 +01:00
Examples
--------
2017-10-27 15:45:38 +02:00
Download images; in this case from danbooru via tag search for 'bonocho':
2017-01-24 02:36:43 +01:00
.. code:: bash
$ gallery-dl "https://danbooru.donmai.us/posts?tags=bonocho"
2017-01-24 02:36:43 +01:00
Get the direct URL of an image from a site that requires authentication:
.. code:: bash
$ gallery-dl -g -u "<username>" -p "<password>" "https://seiga.nicovideo.jp/seiga/im3211703"
2017-01-24 02:36:43 +01:00
Filter manga chapters by language and chapter number:
.. code:: bash
$ gallery-dl --chapter-filter "lang == 'fr' and 10 <= chapter < 20" "https://mangadex.org/title/2354/"
2017-01-24 02:36:43 +01:00
| 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"
2017-01-24 02:36:43 +01:00
2015-11-03 22:08:19 +01:00
Configuration
2015-11-10 21:13:43 +01:00
=============
2015-11-03 22:08:19 +01:00
2017-05-09 15:43:55 +02:00
Configuration files for *gallery-dl* use a JSON-based file format.
2015-11-03 22:08:19 +01:00
| For a (more or less) complete example with options set to their default values,
see gallery-dl.conf_.
| For a configuration file example with more involved settings and options,
see gallery-dl-example.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 places:
2015-11-03 22:08:19 +01:00
2016-11-10 16:22:59 +01:00
+--------------------------------------------+------------------------------------------+
| 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`` |
+--------------------------------------------+------------------------------------------+
2015-11-03 22:08:19 +01:00
(``%USERPROFILE%`` usually refers to the user's home directory,
2016-11-10 16:22:59 +01:00
i.e. ``C:\Users\<username>\``)
2015-11-03 22:08:19 +01:00
2016-11-10 16:22:59 +01:00
Values in later configuration files will override previous ones.
2015-11-03 22:08:19 +01:00
Command line options will override all related settings in the configuration file(s),
e.g. using ``--write-metadata`` will enable writing metadata using the default values
for all ``postprocessors.metadata.*`` settings, overriding any specific settings in
configuration files.
2017-01-24 02:36:43 +01:00
2016-07-25 11:13:54 +02:00
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 for
``danbooru``, ``e621``, ``exhentai``, ``idolcomplex``, ``instagram``,
``luscious``, ``sankaku``, ``tsumino``, and ``twitter``.
2016-07-25 11:13:54 +02:00
You can set the necessary information in your configuration file
(cf. gallery-dl.conf_)
.. code::
{
"extractor": {
...
2016-10-06 19:12:07 +02:00
"pixiv": {
2016-07-25 11:13:54 +02:00
"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
2018-05-10 18:58:05 +02:00
``deviantart``, ``flickr``, ``reddit``, ``smugmug`` and ``tumblr``.
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
2019-03-23 22:11:08 +01:00
access to *gallery-dl*. Authorize it and you will be shown one or more
"tokens", which should be added to your configuration file.
2017-01-25 02:31:36 +01:00
.. _gallery-dl.conf: https://github.com/mikf/gallery-dl/blob/master/docs/gallery-dl.conf
.. _gallery-dl-example.conf: https://github.com/mikf/gallery-dl/blob/master/docs/gallery-dl-example.conf
.. _configuration.rst: https://github.com/mikf/gallery-dl/blob/master/docs/configuration.rst
.. _Supported Sites: https://github.com/mikf/gallery-dl/blob/master/docs/supportedsites.rst
2020-05-02 22:18:56 +02:00
.. _stable: https://github.com/mikf/gallery-dl/archive/v1.13.6.tar.gz
.. _dev: https://github.com/mikf/gallery-dl/archive/master.tar.gz
.. _Python: https://www.python.org/downloads/
.. _PyPI: https://pypi.org/
.. _pip: https://pip.pypa.io/en/stable/
.. _Requests: https://requests.readthedocs.io/en/master/
.. _FFmpeg: https://www.ffmpeg.org/
2019-03-12 21:13:33 +01:00
.. _youtube-dl: https://ytdl-org.github.io/youtube-dl/
.. _pyOpenSSL: https://pyopenssl.org/
2019-05-04 22:50:00 +02:00
.. _Snapd: https://docs.snapcraft.io/installing-snapd
.. _OAuth: https://en.wikipedia.org/wiki/OAuth
.. _Chocolatey: https://chocolatey.org/install
2017-01-25 02:31:36 +01:00
.. |pypi| image:: https://img.shields.io/pypi/v/gallery-dl.svg
:target: https://pypi.org/project/gallery-dl/
2017-01-25 02:31:36 +01:00
2020-03-31 22:23:53 +02:00
.. |build| image:: https://travis-ci.com/mikf/gallery-dl.svg?branch=master
:target: https://travis-ci.com/mikf/gallery-dl
2018-01-09 15:10:40 +01:00
.. |gitter| image:: https://badges.gitter.im/gallery-dl/main.svg
:target: https://gitter.im/gallery-dl/main