Fundoshi - The universal manga data extractor

https://builds.sr.ht/~nhanb/fundoshi.svg

Fundoshi is nifty python library that lets you search for and extract manga series’ data from many online manga reader websites.

WARNING: This library is currently in its extremely early stage and under heavy development. Please check back later if you intend to use it :)

Dependencies

Cloudflare-protected sites (e.g. Kissmanga) require the use of cfscrape, which depends on nodejs. Easiest way to satisfy this is to install nodejs using your distro’s package manager. Debian/Ubuntu users can get by with a simple sudo apt-get install nodejs.

Table of Content

Development Setup

Initial setup on Arch Linux

pyenv virtualenv 3.7.4 fundoshi
pyenv activate fundoshi
poetry install

Routine stuff

make test
make realtest
make docs
... (see Makefile)

How to use

Parse title data

 >>> from fundoshi import parse_title
 >>> title = parse_title('https://mangadex.org/title/2597/sayonara-football')
 >>> title.name
 'Sayonara Football'
 >>> title.tags
 ['Comedy', 'Crossdressing', 'Drama', 'Romance', 'School Life', 'Sports']
 >>> title.descriptions
 ["Nozomi wants to enter ... wants to play in?"]
>>> title.chapters[-1]
{'id': '84585', 'name': 'Vol. 1 Ch. 1 - The Entry of an Unmanageable Woman'}

Parse chapter data

>>> from fundoshi import parse_chapter
>>> chapter = parse_chapter('https://mangadex.org/chapter/333636/')

>>> chapter.name
'Intermission'

>>> for page in chapter.pages:
...   print(page)
https://s4.mangadex.org/data/fc5c4d2c2bd416058aef372872c08ca0/D1.png
https://s4.mangadex.org/data/fc5c4d2c2bd416058aef372872c08ca0/D2.png
https://s4.mangadex.org/data/fc5c4d2c2bd416058aef372872c08ca0/D3.png
https://s4.mangadex.org/data/fc5c4d2c2bd416058aef372872c08ca0/D4.png
https://s4.mangadex.org/data/fc5c4d2c2bd416058aef372872c08ca0/D5.png
https://s4.mangadex.org/data/fc5c4d2c2bd416058aef372872c08ca0/D6.png

Frequently Asked Questions

Which python version?

Fundoshi supports Python 3.7 or later, my excuse being that even Debian Stable comes with 3.7 now and if you’re still trying to run outdated python then… sucks to be you.

Why name it “Fundoshi”?

Because I can.