Doujinshi downloader framework
doujinshi-dl ============
γγͺγγε€ζ γ γγγ?
|pypi| |version| |license|
doujinshi-dl is a CLI tool for downloading doujinshi from mirror sites.
=================== Manual Installation =================== From Github:
.. code-block::
git clone https://github.com/RicterZ/doujinshi-dl cd doujinshi-dl pip install --no-cache-dir .
Build Docker container:
.. code-block::
git clone https://github.com/RicterZ/doujinshi-dl cd doujinshi-dl docker build -t doujinshi-dl:latest . docker run --rm -it -v ~/Downloads/doujinshi:/output doujinshi-dl --id 123855
================== Installation ================== From PyPI with pip:
.. code-block::
pip install doujinshi-dl
Install a plugin to connect to a mirror site:
.. code-block::
pip install doujinshi-dl-
For a self-contained installation, use pipx <https://github.com/pipxproject/pipx/>_:
.. code-block::
pipx install doujinshi-dl
===== Usage ===== β οΈIMPORTANTβ οΈ: Authentication is required. Get your API token from your account settings page and save it:
.. code-block:: bash
doujinshi-dl --token "YOURAPITOKEN"
The default download folder will be the path where you run the command (%cd% or $PWD).
Download specified doujinshi:
.. code-block:: bash
doujinshi-dl --id 123855 123866 123877
Download doujinshi with ids specified in a file (doujinshi ids split by line):
.. code-block:: bash
doujinshi-dl --file=doujinshi.txt
Set search default language:
.. code-block:: bash
doujinshi-dl --language=english
Search a keyword and download the first page:
.. code-block:: bash
doujinshi-dl --search="tomori" --page=1 --download # you also can download by tags and multiple keywords doujinshi-dl --search="tag:lolicon, artist:henreader, tag:full color" doujinshi-dl --search="lolicon, henreader, full color"
Download your favorites with delay:
.. code-block:: bash
doujinshi-dl --favorites --download --delay 1 --page 3-5,7
Format output doujinshi folder name:
.. code-block:: bash
doujinshi-dl --id 261100 --format '[%i]%s' # for Windows doujinshi-dl --id 261100 --format "[%%i]%%s"
Supported doujinshi folder formatter:
- %i: Doujinshi id
- %f: Doujinshi favorite count
- %t: Doujinshi name
- %s: Doujinshi subtitle (translated name)
- %a: Doujinshi authors' name
- %g: Doujinshi groups name
- %p: Doujinshi pretty name
- %ag: Doujinshi authors name or groups name
Other options:
.. code-block::
Usage: doujinshi-dl --search [keyword] --download DOUJINSHIDLURL=https://mirror-url/ doujinshi-dl --id [ID ...] doujinshi-dl --file [filename]
Environment Variable: DOUJINSHIDLURL mirror url
Options: -h, --help show this help message and exit --download, -D download doujinshi (for search results) --no-download skip downloading (for search results) --show, -S just show the doujinshi information --id ID [ID ...] doujinshi ids set, e.g. 167680 167681 167682 --search, -s KEYWORD search doujinshi by keyword --favorites, -F list or download your favorites --artist, -a ARTIST list doujinshi by artist name --page-all all search results --page, --page-range PAGE page number of search results. e.g. 1,2-5,14 --sorting, --sort {recent,popular,popular-today,popular-week,date} sorting of doujinshi (recent / popular / popular-[today|week]) --output, -o OUTPUT_DIR output dir --threads, -t THREADS thread count for downloading doujinshi --timeout, -T TIMEOUT timeout for downloading doujinshi --delay, -d DELAY slow down between downloading every doujinshi --retry RETRY retry times when downloading failed --exit-on-fail exit on fail to prevent generating incomplete files --proxy PROXY store a proxy, for example: -p "http://127.0.0.1:1080" --file, -f FILE read gallery IDs from file. --format NAME_FORMAT format the saved folder name --no-filename-padding no padding in the images filename, such as '001.jpg' --html [HTML_VIEWER] generate an HTML viewer in the specified directory, or scan all subfolders within the entire directory to generate the HTML viewer. By default, current working directory is used. --no-html don't generate HTML after downloading --gen-main generate a main viewer contain all the doujin in the folder --cbz, -C generate Comic Book CBZ File --pdf, -P generate PDF file --meta generate a metadata file in doujinshi format --update-meta update the metadata file of a doujinshi, update CBZ metadata if exists --rm-origin-dir remove downloaded doujinshi dir when generated CBZ or PDF file --move-to-folder remove files in doujinshi dir then move new file to folder when generated CBZ or PDF file --regenerate regenerate the cbz or pdf file if exists --zip package into a single zip file --token TOKEN set API token for authentication --language LANGUAGE set default language to parse doujinshis --clean-language set DEFAULT as language to parse doujinshis --save-download-history save downloaded doujinshis, whose will be skipped if you re-download them --clean-download-history clean download history --template VIEWER_TEMPLATE set viewer template
====== Mirror ====== To use a mirror, set the `DOUJINSHIDLURL` environment variable to your mirror's base URL.
.. code-block:: bash
DOUJINSHIDLURL=https://your-mirror.example.com doujinshi-dl --id 123456
.. |license| image:: https://img.shields.io/github/license/ricterz/nhentai.svg :target: https://github.com/RicterZ/nhentai/blob/master/LICENSE
.. |pypi| image:: https://img.shields.io/pypi/v/doujinshi-dl.svg :target: https://pypi.org/project/doujinshi-dl/
.. |version| image:: https://img.shields.io/badge/python-3.8%2B-blue.svg :target: https://pypi.org/project/doujinshi-dl/