Fundoshi - The universal manga data extractor¶
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¶
How to use¶
Parse series data¶
>>> from fundoshi import parse_series
>>> series = parse_series('http://kissmanga.com/Manga/Sayonara-Football')
>>> series.name
'Sayonara Football'
>>> series.tags
['romance', 'school life', 'shounen', 'sports']
>>> series.descriptions
['Onda Nozomi is in ... one day playing in a game.']
>>> chapter = series.chapters[-1]
>>> chapter.name
'Sayonara Football Vol.001 Ch.001: The Entry of an Unmanageable Woman'
>>> chapter.url
'http://kissmanga.com/Manga/Sayonara-Football/Vol-001-Ch-001--The-Entry-of-an-Unmanageable-Woman?id=95443'
Parse chapter data¶
>>> from fundoshi import parse_chapter
>>> chapter = parse_chapter('http://kissmanga.com/Manga/Naruto/Naruto-333?id=290537')
>>> chapter.name
'Naruto 333'
>>> chapter.prev_chapter_url
'http://kissmanga.com/Manga/Naruto/Naruto-332?id=290536'
>>> chapter.next_chapter_url
'http://kissmanga.com/Manga/Naruto/Naruto-334?id=290538'
>>> chapter.series_url
'http://kissmanga.com/Manga/Naruto'
>>> chapter.pages
<generator object ...>
>>> for page in chapter.pages:
... print(page)
https://images1-focus-opensocial.googleusercontent.com/gadgets/proxy?container=focus&gadget=a&no_expand=1&resize_h=0&rewriteMime=image%2F*&url=http%3a%2f%2fcdn.eatmanga.com%2fmangas%2fManga-Scan%2fNaruto%2fNaruto-333%2f001.jpg&imgmax=30000
https://images1-focus-opensocial.googleusercontent.com/gadgets/proxy?container=focus&gadget=a&no_expand=1&resize_h=0&rewriteMime=image%2F*&url=http%3a%2f%2fcdn.eatmanga.com%2fmangas%2fManga-Scan%2fNaruto%2fNaruto-333%2f002.jpg&imgmax=30000
...
https://images1-focus-opensocial.googleusercontent.com/gadgets/proxy?container=focus&gadget=a&no_expand=1&resize_h=0&rewriteMime=image%2F*&url=http%3a%2f%2fcdn.eatmanga.com%2fmangas%2fManga-Scan%2fNaruto%2fNaruto-333%2f017.jpg&imgmax=30000
Search series¶
>>> from fundoshi import search_series
>>> results = search_series('sayonara football')
>>> results
<generator object ...>
>>> series = next(results)
>>> series.name
'Sayonara Football'
>>> series.url
'http://kissmanga.com/Manga/Sayonara-Football'
Frequently Asked Questions¶
Which python version?¶
Fundoshi is tested on Python 3.4 and 3.5.
Why not support python2 you ask? Two reasons:
- Principal: I hate legacy code, and python2 is, by definition, legacy.
- Practicality: See python3 readiness.
Do not let naysayers spread FUD around python3. Stop producing new legacy code. Embrace progress.
Why name it “Fundoshi”?¶
Because I can.