Small Python project to download manga to EPUB with Metadata

Member
Joined
Jun 29, 2023
Messages
2
Small project I'm doing for fun and learning, I'm sure something somewhere does something similar but whatever:

GitHub repo

What it does:
  • Search MangaDex using a title
  • Select a manga from the search results
  • Select which volumes to download (planning to add chapter ranges later)
  • Downloads chapters for each volume
  • Uses KindleComicConverter to create an EPUB of the volume for a specific eReader model
  • Fetches metadata including author, artist, series name and volume number
  • Also fetches cover if there is one for this volume on MangaDex
  • Pushes the bundled book with metadata to Calibre

I made this to make it easier to use my new Kobo eReader, as despite being a vastly superior way to read in my opinion, the hassle of downloading and manually preparing files got in the way compared to my other inferior but more convenient devices (phone, tablet).

TLDR longest part is now uploading files from Calibre to the tablet :)

If any of my script violates fair use, let me know and I'll do my best to fix it. Have fun
 
Last edited:
  • Like
Reactions: rdn

rdn

Forum Admin
Staff
Developer
Joined
Jan 18, 2018
Messages
282
Quite good for a learning project. One Issue you might run into is that i dont see any ratelimiting in place, so its a question of luck and how long your script runs until you inevitably get rate limited and potentially ip-banned.

easiest would be to place some kind of "sleep for 200ms" thing inside loops that do a lot of requests or use a library that allows for pooled request limiting.

If any of my script violates fair use, let me know and I'll do my best to fix it
It doesnt seem to, so all good.
 
Member
Joined
Jun 29, 2023
Messages
2
Quite good for a learning project. One Issue you might run into is that i dont see any ratelimiting in place, so its a question of luck and how long your script runs until you inevitably get rate limited and potentially ip-banned.

easiest would be to place some kind of "sleep for 200ms" thing inside loops that do a lot of requests or use a library that allows for pooled request limiting.


It doesnt seem to, so all good.
Hit my first rate limit yesterday, but because I made image downloads outrageously fast with multithreading. I'm not sure about everything yet but I added a 1 second delay if a chapter takes less than 1 second to download, no issues since and I downloaded like 40 books with it.

Multithreading the downloads reduced chapter download time by about 90% lol, I was getting some of them sub 400ms
 
Last edited:

Users who are viewing this thread

Top