This release is a pre-release and may not be stable for production use.
tankobon
What?
tankobon is a website scraper for comics and mangas. tankobon relies on stores, which define how to parse a website for chapters and chapters for links to the pages themselves. (somewhat like youtube-dl extractors.) Currently, the following websites are supported:
komi-san.comm.mangabat.commangadex.orgmangakakalot.com
Creating a Store
A store is a regular Python module in the stores/ folder.
It should provide a Parser class, which is a subclass of tankobon.manga.Parser.
The following methods below must be implemented:
chapters(self) -> Generator[Tuple[str, Dict[str, str]], None, None]
Yields chapter_info which looks like this:
{
"id": ..., # chapter number
"title": ..., # chapter title
"url": ..., # chapter url
"volume": ..., # volume, i.e '0'
}
Volume is optional and may be undefined. Example:
def chapters(self):
# use self.soup to access the title page
for href in self.soup.find_all("a", href=True):
# validify href here and parse chapter id
...
yield {"id": ..., "title": href.text, "url": href["href"]}
pages(self, chapter_data: Dict[str, str]) -> List[str]
Return a list of urls to a chapter's pages, given the chapter data yielded from chapters().
The pages must be in order (page 1 is [0], page 2 is [1], etc.) Example:
def pages(self, chapter_data):
pages = []
# to get the chapter's html, use self.session.get (requests session)
# or self.soup (html already parsed by BeautifulSoup).
chapter_page = self.soup_from_url(chapter_data["url"])
for href in chapter_page.find_all("a", href=True):
# validify href here
...
pages.append(href["href"])
return pages
The following methods below may or may not be implemented: generic implementations are provided.
title(self) -> str
Return the title of the manga. Example:
def title(self):
return self.soup.title
Index Compatibility
Between version v3.1.0a1 and v3.2.0a0, the location of the index file has moved from site-packages to ~/.tankobon/index.json, specific to each install of tankobon.
Todo
- download pre-parsed indexes from a special Github repo (tankobon-index?)
- create GUI to make downloading easier (like youtube-DLG)
Usage
tankobon download 'https://komi-san.com' # download all chapters
tankobon store info 'komi_san/https://komi-san.com' # and then get info on the chapters
Install
python(3) -m pip install tankobon
Build
All my python projects now use flit to build and publish.
To build, do flit build.
License
MIT.
Metadata
Release files for tankobon 5.0.0b0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| tankobon-5.0.0b0.tar.gz | 24.4 kB | Without provenance | Details for tankobon-5.0.0b0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tankobon-5.0.0b0-py3-none-any.whl | Python 3 | none | any | Details for tankobon-5.0.0b0-py3-none-any.whl |
Total release size: 39.3 kB
Release files / tankobon-5.0.0b0.tar.gz
| Download URL | tankobon-5.0.0b0.tar.gz |
|---|---|
| Size | 24.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6e36f76fa2d97ca0819ad0bd63f513724b200e5d4d1066bf25882fd8dfc969cf
|
|
BLAKE2b-256 checksum How to use checksums |
7d54b49fbdc932bde2f62d02fe718c42419b8b351bc7bdfdda321916119c83dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.25.1
|
Release files / tankobon-5.0.0b0-py3-none-any.whl
| Download URL | tankobon-5.0.0b0-py3-none-any.whl |
|---|---|
| Size | 14.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e3d21eda97358ec8d03c316eaf6bc258d214584f46b9b69fe56a7db11083ea8c
|
|
BLAKE2b-256 checksum How to use checksums |
c72441beb79b4d75d4b109bf7bade9f417607c521fe5102a6bb72ab55a0b124a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.25.1
|
Security for tankobon 5.0.0b0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.