Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

103 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MangaWorld Downloader

A Python-based tool for downloading and organizing manga content from MangaWorld.

Demo

Features

Dependencies

  • Python 3
  • aiohttp - for asynchronous HTTP requests
  • requests - for HTTP requests
  • beautifulsoup4 (bs4) - for HTML parsing
  • Pillow - for image processing
  • rich - for progress display in terminal
Show directory structure
project-root/
├── helpers/
│ ├── config.py          # Manages constants and settings used across the project
│ ├── download_utils.py  # Utilities for managing the download process
│ ├── file_utils.py      # Utilities for managing file operations
│ ├── format_utils.py    # Functions for formatting manga data
│ ├── general_utils.py   # Miscellaneous utility functions
│ ├── pdf_generator.py   # Tools for generating PDF files from manga chapters
│ └── progress_utils.py  # Utilities for tracking and displaying progress
├── manga_downloader.py  # Core functionality for managing manga downloads
├── main.py              # Main script to run the downloader
└── URLs.txt             # Text file containing manga URLs

Installation

  1. Clone the repository:
git clone https://github.com/Lysagxra/MangaWorldDownloader.git
  1. Navigate to the project directory:
cd MangaWorldDownloader
  1. Install the required dependencies:
pip install -r requirements.txt

Single Manga Download

To download a single manga, you can use the manga_downloader.py script.

Usage

Run the script followed by the manga URL you want to download:

python3 manga_downloader.py <manga_url> [--start <start_index>] [--end <end_index>] [--volume]
  • <manga_url>: The URL of the manga.
  • --start <start_index>: The starting chapter (or volume) number (optional).
  • --end <end_index>: The ending chapter (or volume) number (optional).
  • --volume --v: Enable download by volume (optional).

Example

python3 manga_downloader.py https://www.mangaworld.ac/manga/2754/sayonara-eri

Examples

To download all chapters:

python3 manga_downloader.py https://www.mangaworld.cx/manga/2472/soloist-of-the-prison

To download a specific range of chapters (e.g., chapters 5 to 10):

python3 manga_downloader.py https://www.mangaworld.cx/manga/2472/soloist-of-the-prison --start 5 --end 10

To download chapters starting from a specific chapter:

python3 manga_downloader.py https://www.mangaworld.cx/manga/2472/soloist-of-the-prison --start 5

In this case, the script will download all chapters starting from the --start chapter to the last chapter.

To download chapters up to a certain chapter:

python3 manga_downloader.py https://www.mangaworld.cx/manga/2472/soloist-of-the-prison --end 10

In this case, the script will download all chapters starting from the first chapter to the --end chapter.

Download chapters by volume

To download chapters by volume (if available) you can use the --volume argument from the command line to enable this functionality and select volume(s) to retrive:

python3 manga_downloader.py https://www.mangaworld.cx/manga/2472/soloist-of-the-prison --volume

To download a specific range of volumes (e.g., volumes 5 to 10):

python3 manga_downloader.py https://www.mangaworld.cx/manga/2472/soloist-of-the-prison --volume --start 5 --end 10

To download chapters starting from a specific volume:

python3 manga_downloader.py https://www.mangaworld.cx/manga/2472/soloist-of-the-prison --volume --start 5

In this case, the script will download all volumes starting from the --start volume to the last volume.

To download chapters up to a certain volume:

python3 manga_downloader.py https://www.mangaworld.cx/manga/2472/soloist-of-the-prison --volume --end 10

In this case, the script will download all volumes starting from the first volume to the --end volume.

Batch Download

Usage

  1. Create a URLs.txt file in the project root and list the manga URLs you want to download.
  • Example of URLs.txt:
https://www.mangaworld.ac/manga/2754/sayonara-eri
https://www.mangaworld.ac/manga/2378/bibliomania
https://www.mangaworld.ac/manga/2472/soloist-of-the-prison
  • Ensure that each URL is on its own line without any extra spaces.
  • You can add as many URLs as you need, following the same format.
  1. Run the main script via the command line:
python3 main.py

The downloaded files will be saved in the Downloads directory.

Comic File Generation

This tool includes a feature to generate comic files from downloaded manga chapters. Supported formats are PDF and CBZ. You can use the --format argument from the command line to select the desired output format.

Usage

To generate PDF files for the downloaded manga, run the following command:

python3 main.py --format pdf

This will create PDF files for each chapter and save them in the specified output directory. The generated PDFs maintain the original quality of the downloaded images and are optimized for readability.

Logging

The application logs any issues encountered during the download process in a file named session.log. Check this file for any URLs that may have been blocked or had errors.

Releases

Packages

Used by

Contributors

Languages