A manga download script written in python.

Related tags

Downloadermanga-dlp
Overview

manga-dlp

python script to download mangas


Build Status

Quality Gate Status


Description

A manga download script written in python. It only supports mangadex.org for now. But support for other sites is planned.

Before downloading a new chapter, the script always checks if there is already a chapter with the same name in the download directory. If found the chapter is skipped. So you can run the script on a schedule to only download new chapters without any additional setup.

The default behaiviour is to pack the images to a cbz archvie. If you just want the folder with all the pictures use the flag --nocbz.

Currently Supported sites

Usage

With GitHub

git clone https://github.com/olofvndrhr/manga-dlp.git # clone the repository

cd manga-dlp # go in the directory

pip install -r requirements.txt # install required packages

# on windows
python manga-dlp.py <options>
# on unix
python3 manga-dlp.py <options>

With pip (pypi)

(not yet done)

With docker

See the docker README

Options

/downloads" -l LANG, --language LANG Manga language. Defaults to "en" --> english --read READ Path of file with manga links to download. One per line --list List all available chapters. Defaults to false --nocbz Dont pack it to a cbz archive. Defaults to false --forcevol Force naming of volumes. For mangas where chapters reset each volume --wait WAIT Time to wait for each picture to download in seconds(float). Defaults 0.5 --verbose Verbose logging. Defaults to false">
usage: manga-dlp.py [-h] [-u URL] [-c CHAPTERS] [-p PATH] [-l LANG] [--read READ] [--list] [--nocbz] [--forcevol] [--wait WAIT]
[--verbose]

optional arguments:
-h, --help                          Show this help message and exit
-u URL, --url URL                   URL of the manga
-c CHAPTERS, --chapters CHAPTERS    Chapters to download
-p PATH, --path PATH                Download path. Defaults to "
    
     /downloads"
-l LANG, --language LANG            Manga language. Defaults to "en" --> english
--read READ                         Path of file with manga links to download. One per line
--list                              List all available chapters. Defaults to false
--nocbz                             Dont pack it to a cbz archive. Defaults to false
--forcevol                          Force naming of volumes. For mangas where chapters reset each volume
--wait WAIT                         Time to wait for each picture to download in seconds(float). Defaults 0.5
--verbose                           Verbose logging. Defaults to false

    

Downloads file-structure

.
└── 
   
    /
    └── 
    
     /
        └── 
     
      /

     
    
   

Example:

./downloads/mangatitle/chaptertitle(.cbz)

Read list of links from file

With the option --read you can specify a file with links to multiple mangas. They will be parsed from top to bottom one at a time. Every link will be matched for the right api to use. It is important that you only have one link per line, otherwise they can't be parsed.

Example:

# mangas.txt
link1
link2
link3

python3 manga-dlp.py --read mangas.txt --list

This will list all available chapters for link1, link2 and link3.

Set download path

With the option -p/--path you can specify a path to download the chapters to. The default path is /downloads . Absolute and relative paths are supported.

Example:

python3 manga-dlp.py --path /media/mangas

This will save all mangas/chapters in the path /media/mangas/ /

Contribution / Bugs

For suggestions for improvement, just open a pull request.

If you want to add support for a new site, there is an api template file which you can use.

Otherwise you can open a issue with the name of the site which you want support for. (not guaranteed to be implemented)

If you encounter any bugs, also just open a issue with a description of the problem.

TODO's

  • Make docker container for easy distribution --> Dockerhub
  • Make pypi package
  • Add more supported sites
You might also like...
A Python script to download PDB files associated with a Portable Executable (PE)
A Python script to download PDB files associated with a Portable Executable (PE)

A Python script to download PDB files associated with a Portable Executable (PE)

Simple Python script to download images and videos from public subreddits without using Reddit's API 😎
Simple Python script to download images and videos from public subreddits without using Reddit's API 😎

Subreddit Media Downloader Download images and videos from any public subreddit without using Reddit's API Made with ❤ by Nico 💬 About: This script a

Download your bandcamp collection using this python script.

bandcamp-downloader Download your Bandcamp collection using this python script. It requires you to have a browser with a logged in session of bandcamp

Script that allows to download portable installers of different versions Adobe software for macOS

What is this and for what This is a script that allows you to download portable installers of programs from Adobe for macOS with different versions. T

The sole purpose of this script is to download any NFT collection from OpenSea

OpenSea NFT Stealer The sole purpose of this script is to download any NFT collection from OpenSea. Setup Prerequisites: Python 3 Python requests libr

Arxiv2Kindle is a simple script written in python that converts LaTeX source downloaded from Arxiv and recompiles it to better fit a Kindle or other similar reading devices.
Arxiv2Kindle is a simple script written in python that converts LaTeX source downloaded from Arxiv and recompiles it to better fit a Kindle or other similar reading devices.

Arxiv2Kindle is a simple script written in python that converts LaTeX source downloaded from Arxiv and recompiles it to better fit a read

FireDM is a python open source (Internet Download Manager) with multi-connections, high speed engine, it downloads general files and videos from youtube and tons of other streaming websites .
FireDM is a python open source (Internet Download Manager) with multi-connections, high speed engine, it downloads general files and videos from youtube and tons of other streaming websites .

python open source (Internet Download Manager) with multi-connections, high speed engine, based on python, LibCurl, and youtube_dl https://github.com/firedm/FireDM

This is a python based web scraping bot for windows to download all ACCEPTED submissions of any user on Codeforces
This is a python based web scraping bot for windows to download all ACCEPTED submissions of any user on Codeforces

CODEFORCES DOWNLOADER This is a python based web scraping bot for windows to download all ACCEPTED submissions of any user on Codeforces Requirements

Comments
  • Files downloaded have no extension

    Files downloaded have no extension

    Hello,

    I've just installed manga-dlp in a docker instance and started downloading some manga. The download is working but files are saved without extension. When the program creates the CBZ file the readers I've tried cannot open it, probably because of this reason. (the files are generated correctly as I can unzip them without any issue).

    I've noticed that the files in the mangadex server do not have any extension, not sure if this is something recent or not.

    I've also tried to generate PDF but the extension is not included in the image so I cannot see if PDF would work anyway.

    Docker file

    version: "3"
    services:
      manga-dlp:
        image: olofvndrhr/manga-dlp:latest
        container_name: manga-dlp
        security_opt:
          - no-new-privileges:true
        networks:
          - proxy
        volumes:
          - ************/Comics:/app/downloads/ # default manga download directory
          - ************/manga-dlp/config/mangas.txt:/app/mangas.txt # default file for manga links to download
          #- ./crontab:/etc/cron.d/mangadlp # path to default crontab
          #- ./schedule:/app/schedules/daily # path to the default schedule which is run daily
        environment:
          - TZ=Europe/************
          - PUID=1000 # custom userid - defaults to 4444
          - PGID=1000 # custom groupid - defaults to 4444
        restart: unless-stopped
    
    networks:
      proxy:
        external: true
    

    Mangas.txt

    https://mangadex.org/title/f7888782-0727-49b0-95ec-a3530c70f83b/hajime-no-ippo
    [...]
    
    bug enhancement 
    opened by kn-f 3
  • Not working with Mangadex API >= 5.4.1

    Not working with Mangadex API >= 5.4.1

    From Mangadex:

    ⚠️  Deprecated
    Deprecate Chapter.data.attributes.{hash, data, dataSaver} fields
    They will be accessible only through /at-home/server endpoint after the transition period.
    We will keep it present on /chapter based endpoints for 1 week from today after which that information will be entirely gone from any other endpoint.
    

    Since this changes breaks the current script, i need to rewrite it to use the new "at-home" endpoint. I will also overhaul the whole script to remove unnecessary pieces.

    Expect the script not to work for a few days until i fix everything.

    bug enhancement 
    opened by olofvndrhr 1
  • [FEATURE] Volume support for all apis (future proofing)

    [FEATURE] Volume support for all apis (future proofing)

    Is your feature request related to a problem? Please describe. Most manga-dl things do not support making volume folders, due to the fact a lot of sites don't support showing information of what chapters are in what volume.

    Describe the solution you'd like I'm going to PR so more sites, your implementation and organization of supporting multiple sites is amazing, to just have a callable class is a great way to do this.

    In order to support multiple sites with full meta and sorting, it should have a fallback to the mangadex api to get the missing information.

    Describe alternatives you've considered I made a kind of wrapper for mangodl which barely worked and was not automated.

    Additional context The api fallback to mangadex may need a login, I haven't looked through everything you've done but I'm glad to find an active, usable project.

    feature-request 
    opened by BitterSweetcandyshop 0
Releases(2.2.16)
Owner
Ivan Schaller
DevOps Engineer / Network Engineer
Ivan Schaller
This package helps you to directly download an APK from Google Play by providing the package id of the app

Apk Downloader About | Features | Technologies | Requirements | Starting | License | Author 🎯 About This package helps you to directly download an AP

Daniel Agyapong 9 Dec 11, 2022
📼Command line tool based on youtube-dl to easily download selected channels from your subscriptions.

youtube-cdl Command line tool based on youtube-dl to easily download selected channels from your subscriptions. This tool is very handy if you want to

Anatoly 64 Dec 25, 2022
An automatic beatmapset downloader via txt file, suitable for tourney mappools.

Pooler Pooler is a bulk osu! mapset downloader, perfect for use with osu! Tournament Mappools. Prerequisites Python 3.10 Requests (pip install request

Thomas 0 Feb 11, 2022
MMDL (Mega Music Downloader) - A tool to easily download music.

mmdl - Mega Music Downloader What is mmdl ❓ TLDR: MMDL is a cli app which allows you to quickly and efficiently download one or multiple songs from Yo

techboy-coder 30 Dec 13, 2022
Download and save Bing wallpapers and set as background for GNOME desktop

Save Bing wallpapers and set as background for GNOME desktop This script downloads the Bing wallpaper and sets it in the background of your gnome desk

manikamran 2 Nov 06, 2021
Download Thumbnail of YouTube Videos

Download Thumbnail of YouTube Videos in High Quality Variables: API_ID : Get From my.telegram.org API_HASH : Get from my.telegram.org BOT_TOKEN : Your

Arun 6 Jun 08, 2022
A cross platform front-end GUI of the popular youtube-dl written in wxPython.

youtube-dlG A cross platform front-end GUI of the popular youtube-dl media downloader written in wxPython. Supported sites Screenshots Requirements Py

8.7k Dec 31, 2022
FireDM is a python open source (Internet Download Manager) with multi-connections, high speed engine, it downloads general files and videos from youtube and tons of other streaming websites .

python open source (Internet Download Manager) with multi-connections, high speed engine, based on python, LibCurl, and youtube_dl https://github.com/firedm/FireDM

1.6k Apr 12, 2022
Vinetrimmer-DRM-TOOL - Widevine DRM downloader and decrypter for AMZN|NF|STAN And all

🍃 ✂️ Vinetrimmer Widevine DRM downloader and decrypter. Thanks to wvleaks for t

Vlad Tănăsescu 20 Jan 13, 2022
A discord bot for downloading youtube video and audio files

disctube disctube is a discord bot for downloading video and audio files from youtube using python pytube. disclaimer i am not the best python program

razor420 3 Feb 03, 2022
Audio/Video downloader

youtubeDownloader Audio/Video downloader • The project downloads audio/video/both after link is entered • It also shows total size of the file, time l

Tulsi Thakur 1 Nov 16, 2021
Downloads yiffer.xyz comics as images

yiffer-dl Downloads comics as images from yiffer.xyz.

Maxim 2 Mar 20, 2022
Heroic-gogdl - GOG Downloading module for Heroic Games Launcher

heroic-gogdl GOG download module for Heroic Games Launcher Purpose This will tak

Paweł Lidwin 36 Dec 23, 2022
A Fast as F*** Downloader

FAFD A Fast as F*** Downloader Github Usages You'll want to use a URL like this: https://github.com/RPowell-C/FAFD/raw/main/FAFD.py It's easier DONT F

1 Jan 19, 2022
Python/Selenium script to scrape data about university courses

university-courses Python/Selenium script to scrape data about university courses. Script first extracts URLs of each courses homepage, then trawls ea

Sam Brown 1 Feb 02, 2022
Youtube-downloader-using-Python - Youtube downloader using Python

Youtube-downloader-using-Python Hii guys !! Fancy to see here Welcome! built by

Lakshmi Deepak 2 Jun 09, 2022
Spy Ad Network - Spy Ad Network Detection With Python

Spy Ad Network Spy Ad Network Detection Jumps from link to link to access a site

Baris Dincer 2 Jan 13, 2022
Super S3 command line tool

s4cmd Super S3 command line tool Author: Chou-han Yang (@chouhanyang) Current Maintainers: Debodirno Chandra (@debodirno) | Naveen Vardhi (@rozuur) |

Bloomreach 1.2k Dec 27, 2022
Python module to donwload all Pixiv artworks of a user using it's user ID.

Python module to donwload all Pixiv artworks of a user using it's user ID. You need a PHPSESSID token to export NSFW.

Quatrecentquatre 1 Jan 27, 2022
Download your Spotify playlists and songs along with album art and metadata

spotDL Download your Spotify playlists and songs along with album art and metadata The fastest, easiest, and most accurate command-line music download

10.6k Jan 03, 2023