Swiftly download manga from multiple sources.
Project description
RapidMangaDL (Manga Downloader)
RapidMangaDL is a Python package that allows you to swiftly download manga from various sources. It offers multiple ways to interact with the application, including a Command Line Interface (CLI) and an Interactive CLI with a text-based prompt. Additionally, it comes with a web-based GUI to provide a user-friendly experience. Suppoted Sources
Installation
- Install Python (3.6 or higher)
- Go to terminal and run the following command
pip install RapidMangaDL
Features
Download manga from multiple sources with great speed. Three different ways to interact with the application: CLI, Interactive CLI, and Web-based GUI. Select specific chapters or a custom range for downloading. Choose between downloading the manga in EPUB or PDF format. Customize the quality of the images (10 to 100).
Interactive CLI
The Interactive CLI mode provides a user-friendly prompt to search for a manga, select chapters, specify the format, and set image quality.
To start the Interactive CLI mode, simply run:
mangadl
Here's a quick demo:
Web-based GUI (Graphical User Interface)
The Web-based GUI offers a graphical interface to interact with the application. You can easily search for manga, select chapters, and initiate downloads.
To start the server, run:
mangadl gui
Here's a sneak peek:
To create a shareable link, you can use the --share
flag:
mangadl gui --share
Command Line Interface (CLI)
The CLI mode allows you to interact with the application using command-line arguments. Here's an example of how you can use it:
mangadl cli -m https://manganato.com/manga-az963307 -c 1-10 -f epub -q 90
You can use the Command Line Interface (CLI) with arguments to initiate a download. Here's a breakdown of the available options:
usage: mangadl [-h] [-s QUERY] [-m MANGA] [-ss SOURCE] [-c CHAPTERS] [-ex EXCLUDE] [-f {epub,pdf}] [-q QUALITY] [--host HOST] [-p PORT] [mode]
positional arguments:
mode Mode to run (choices: gui, prompt, cli) [Web ui, Interactive CLI, CLI]
optional arguments:
-h, --help show this help message and exit
-s QUERY, --query QUERY
Search for a manga (This will move to interactive mode with the search results)
-m MANGA, --manga MANGA
Manga to download
Examples:
-m https://manganato.com/manga-az963307 (most reliable)
-m manga-id (from web gui something like this managato_uq971673)
-m manga-title (Match by similarity, not relaiable)
-ss SOURCE, --source SOURCE
Source to download from (Examples: -ss manganato | -ss mangakakalot | -ss manganelo | -ss mangasee123)
-c CHAPTERS, --chapters CHAPTERS
Chapters to download
Examples:
-c 1-10 | -c 1,2,3 | -c 1-10, 20-30 | -c 1-10, 20-30, 40, 50, 60-70 | -c latest 10 | -c Chapter 1, Chapter 2 |
-c https://manganato.com/manga-az963307/chapter-1-https://manganato.com/manga-az963307/chapter-2
-c last (last 5 chapters)
-ex EXCLUDE, --exclude EXCLUDE
Chapters to exclude (same rules apply as --chapters)
-f {epub,pdf}, --format {epub,pdf}
Format to download (choices: epub, pdf)
-q QUALITY, --quality QUALITY
Quality of images (10-100)
--host HOST Host address of the server (default: 127.0.0.1)
-p PORT, --port PORT Port of the server (default: 80)
-l {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --log {DEBUG,INFO,WARNING,ERROR,CRITICAL}
Set the log level (choices: DEBUG, INFO, WARNING, ERROR, CRITICAL)
Python API
You can also use the Python API to interact with the application.
Selecting a manga
from manga_dl import Manga
manga = Manga("https://manganato.com/manga-az963307")
manga.set_info()
print(manga.title)
print(manga.author)
print(manga.description)
Selecting from search results
mangas = Manga.search("one piece")
manga = mangas[0]
manga.set_info()
print(manga.title)
Selecting chapters
manga.select_chapters("last 10")
# or
manga.select_chapters("1-10")
# or
manga.select_chapters("1,2,3,4,5,6,7,8,9,10")
# or
manga.select_chapters("1-10, 20-30, 40, 50, 60-70")
# or
managa.select_chapters("https://manganato.com/manga-az963307/chapter-1-https://manganato.com/manga-az963307/chapter-2")
# exclude chapters
manga.select_chapters("1-10", exclude="5") # same rules apply for exclude
Downloading
manga.create_epub()
# or
manga.create_pdf()
# specify quality
manga.create_epub(quality=70) # Default is 85(unchangable)
# specify output directory
manga.create_epub(path="C:/Users/username/Desktop")
Launching the server
from manga_dl import app
app.run()
# or
app.run(host="localhost", port=80) # app is a Flask app
Contributing
See CONTRIBUTING.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for RapidMangaDL-0.2.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3833b95a1fec4b01a6b6ef1fa591386dd83021ebe04e5d35d562f9ea22d82bc4 |
|
MD5 | a6c30f7b7bb8168eb247009b7cb89369 |
|
BLAKE2b-256 | b08f283db98decfeb2f8302d27ebba83dc634736820d970848b40a39957a6deb |