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 is udemy course downloader, before a start you know how to get access token.

udemy_downloader this is udemy course downloader, before a start you know how to get access token. To get the access_token on Google Chrome (once on U

OkUgur 18 Dec 04, 2022
📺 YouTube Song Downloader Bot For Telegram 🔮

📺 YouTube Song Downloader Bot For Telegram 🔮 Powerd By TamilBots.

Tamil Bots 146 Dec 31, 2022
YouTube Video publisher using youtube-dl & ROS2🐢

YouTube-publisher-ROS2 Publish sensor_msgs/Image by "YouTube" 🤗 🤗 🤗 ! You don't have to use webcamera or your video to check demos. Purpose Quick d

Ar-Ray 5 Dec 04, 2022
A simple Python +3.x script to download videos from Facebook.

Facebook Video Downloader A simple Python +3.x script to download videos from Facebook posts

Kerolos Atef Saber 1 Dec 03, 2021
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

Soumik Rakshit 8 Jul 09, 2022
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

Phillip 9 Sep 04, 2022
VK sticker downloader with python

VK Sticker Downloader This repository is used to automate download file from VK Sticker How to use Execute the file ./downloader.py Writedown full url

Hartawan Bahari M. 1 Dec 29, 2021
Code for "Temporal Difference Learning for Model Predictive Control"

Temporal Difference Learning for Model Predictive Control Original PyTorch implementation of TD-MPC from Temporal Difference Learning for Model Predic

Nicklas Hansen 156 Jan 03, 2023
Tool To Get Downloads up to 4k from Paramount+

Paramount 4K Downloader Tool To Get Downloads up to 4k from Paramount+ 😄 Hello Fellow Developers/ ! Hi! My name is WVDUMP. I am Leaking the script

2 Dec 25, 2021
👻🟡 Download all Snapchat video & photo memories from a data export.

Snapchat "Memories" Fetcher In compliance with the California Consumer Privacy Act of 2018 (“CCPA”), businesses which collect and store user data must

Todd Birchard 18 Dec 26, 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
Easily download audio described movies and TV shows found on audiovault.net

AudioVault Downloader A convenient downloader for audio described movies and TV shows found on the Audio Vault. get latest binary release for Windows

Carter Temm 5 Feb 10, 2022
New York Times Front Page Downloader.

TIMETRAVELER New York Times Front Page Downloader. Usage python3 timetraveler.py All data will be saved at ~/timetraveler/ Goals To keep a historica

Daeshon Jones 0 Oct 31, 2021
Automatically download and crop key information from the arxiv daily paper. (cpu version)

Automatically download and crop key information from the arxiv daily paper. (cpu version)

HeoLis 4 Jul 30, 2022
GTK4 + Python tutorial with code examples

Taiko's GTK4 Python tutorial Wanna make apps for Linux but not sure how to start with GTK? This guide will hopefully help! The intent is to show you h

190 Jan 08, 2023
Music, Album and Playlist downloader for JioSaavn

jiosaavn-dl Music, Album and Playlist downloader for JioSaavn Features Downloads tracks, albums and playlists in maximum available quality (320kbps AA

bunny 19 Dec 12, 2022
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
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
TikTok downloader video without watermark from Telegram bot

⬇️ How to download video from Tik Tok via telegram bot? Send a link to the video from tik tok to our telegram bot and it will send you a video without

1 Mar 04, 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