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
YouTube-Downloader - YouTube Video Downloader made using python

YouTube-Downloader YouTube Videos Downloder made using python.

Shivam 1 Jan 16, 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
A Unit3D Mass Release Downloader

Unit3DMassDL A Unit3D Mass Release Downloader. Currently supports Aither. Installation Ensure Python 3 is installed in your system. Run the following

2 Apr 11, 2022
Python library to download bulk of images from Bing.com

Python library to download bulk of images form Bing.com. This package uses async url, which makes it very fast while downloading.

Guru Prasad Singh 105 Dec 14, 2022
Download every approved Obsidian.md community Plugin and Theme

obsidian-repos-downloader Contents What? Why? Setup Requirements Download Run Getting Started Usage - all the arguments Output Directories Flatter Str

Clare Macrae 16 Dec 13, 2022
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

Nico 106 Jan 07, 2023
Download from HBO-MAX-BLIM-TV-Paramount

#HBO MAX- BlimTV -Paramount plus 4K Downloader Tool To download 4K HDR DV SDR from HBO MAX- BlimTV -Paramount plus Hello Fellow Developers/ ! Hi! M

4 Dec 25, 2021
😷 Dowload dos documentos da CPI da Pandemia

A CPI da Pandemia recebeu milhares de documentos públicos, todos disponibilizados no site do Senado Federal.

Eduardo Cuducos 98 Sep 23, 2022
Downloads .ksy files and their dependencies straight from the official kaitai-struct format gallery.

ksy-dl Downloads .ksy files and their dependencies straight from the official kaitai-struct format gallery. This tool will: Fetch any of the official

3 Jun 20, 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
A股tick下载,自动判断交易日历,获取全市场level1数据

TickDown A股tick下载,自动判断交易日历,获取全市场level1数据 依赖项 func_timeout requests some_tool(仓库里) akshare 使用 定时任务在上午 09:07开始运行 参数调节 max_num 单批次提交的股票数,当前为800,可以自行尝试多个数

Demon Finch 7 Jul 06, 2022
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

Mohak 6 Dec 29, 2022
Tool To download Amazon 4k SDR HDR 1080, CDM IS Not Included

WV-AMZN-4K-RIPPER Tool To download Amazon 4k SDR HDR 1080, CDM IS Not Included For CDM You can Mail :- Denis Trunov 179 Dec 17, 2022

A lightweight, dependency-free Python library (and command-line utility) for downloading YouTube Videos.

A lightweight, dependency-free Python library (and command-line utility) for downloading YouTube Videos.

pytube 7.9k Jan 02, 2023
Python script to download all images/webms of a 4chan thread

Python3 script to continuously download all images/webms of multiple 4chan thread simultaneously - without installation

Micha Fink 208 Jan 04, 2023
Youtube Downloader by PyTube é uma ferramenta simples com interface gráfica e escrito em python para baixar vídeos e playlists do youtube...

YouTube Downloader by PyTube O que é o YouTube Downloader by PyTube? YouTube Downloader by PyTube é um software simples para baixar vídeos no YouTube

Elizeu Barbosa Abreu 5 Jul 30, 2022
Will load an SRC page, logged in with Firefox's cookies imported, and delete all comments from every run

SRCCommentsAutoDeleter Will load an SRC page, logged in with a support browser's cookies, and delete all comments from every run Config is all done in

3 Oct 29, 2021
A scriptable music downloader for Qobuz, Tidal, and Deezer

streamrip A scriptable stream downloader for Qobuz, Tidal, and Deezer. Features Downloads tracks, albums, playlists, discographies, and labels from Qo

967 Jan 03, 2023
Download any video from YouTube playlists

youtube-dl Download any videos from YouTube playlists. Requirements Python 3 BeautifulSoup4 PyQt PyQtWebEngine pytube pyyoutube python-decouple Usage

Antonio Fortin 1 Oct 26, 2021
A growing collection of search plugins for the qBittorrent, an awesome and opensource torrent client

qBittorrent Search Plugins This is a still growing collection of search plugins for qBittorent, an amazing and open source torrent client, maintained

Alessio Tudisco 59 Dec 26, 2022