A Python-based tool for downloading and organizing manga content from MangaWorld.
- Downloads multiple chapters concurrently.
- Downloads chapters by volume (if available).
- Supports batch downloading via a list of URLs.
- Supports downloading a specified range of chapters.
- Supports the generation of PDF and CBZ files from the downloaded chapters.
- Track and display download progress.
- Organize and format manga chapters.
- Python 3
aiohttp- for asynchronous HTTP requestsrequests- for HTTP requestsbeautifulsoup4(bs4) - for HTML parsingPillow- for image processingrich- 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
- Clone the repository:
git clone https://github.com/Lysagxra/MangaWorldDownloader.git- Navigate to the project directory:
cd MangaWorldDownloader- Install the required dependencies:
pip install -r requirements.txtTo download a single manga, you can use the manga_downloader.py script.
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).
python3 manga_downloader.py https://www.mangaworld.ac/manga/2754/sayonara-eriTo download all chapters:
python3 manga_downloader.py https://www.mangaworld.cx/manga/2472/soloist-of-the-prisonTo 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 10To download chapters starting from a specific chapter:
python3 manga_downloader.py https://www.mangaworld.cx/manga/2472/soloist-of-the-prison --start 5In 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 10In this case, the script will download all chapters starting from the first chapter to the --end chapter.
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 --volumeTo 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 10To download chapters starting from a specific volume:
python3 manga_downloader.py https://www.mangaworld.cx/manga/2472/soloist-of-the-prison --volume --start 5In 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 10In this case, the script will download all volumes starting from the first volume to the --end volume.
- Create a
URLs.txtfile 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.
- Run the main script via the command line:
python3 main.pyThe downloaded files will be saved in the Downloads directory.
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.
To generate PDF files for the downloaded manga, run the following command:
python3 main.py --format pdfThis 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.
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.
