Skip to main content

getjmanga

PyPI CI

ghcr size

Retrieve and save images from japanese web comic sites.

Note: Redistribution of downloaded image data is prohibited. Please keep it to private use.

Supported sites

See docs/SUPPORTED_SITES.md.

Installation

# mise via github release
mise use -g github:eggplants/getjmanga

# mise via pipx
mise use -g pipx:getjmanga

# pipx
pipx install getjmanga

# pip
pip install getjmanga

Docker

docker pull ghcr.io/eggplants/getjmanga

docker run --rm -v "$PWD:/work" -w /work \
  ghcr.io/eggplants/getjmanga https://takecomic.jp/episodes/74f33031e13cd

CLI

# one episode
jm https://takecomic.jp/episodes/74f33031e13cd https://piccoma.com/web/viewer/8195/1185884

# episodes in bulk
jm -b https://shonenjumpplus.com/episode/13932016480028799982

# login
jm -u you@example.com https://piccoma.com/web/viewer/8195/1185884
Option Description
-b, --bulk follow every next episode
-d DIR, --savedir DIR directory to save into (default: .)
-f, --first download only the first page
-o, --overwrite download again if it exists
-m, --metadata save episode metadata as metadata.json
-u ID, --username ID id or email address to log in with
-p PW, --password PW password (prompted for if -u is given without it)
-e NAME, --extractor NAME use this extractor instead of picking one by the url's host
-c FILE, --config FILE config file holding site credentials (default: ~/.config/getjmanga/config.toml)
-q, --quiet disable console output
--list-extractors list every extractor, its URL shapes and its hosts

Configuration

# site.<host>
[site."shonenjumpplus.com"]
username = "you@example.com"
password = "..."

# site.<extractor>
[site.comici-plus]
username = "comici-id"
password = "..."

[site.piccoma]
username = "you@example.com"
# no password: it is prompted for once per run

Library

from getjmanga import Downloader, find_extractor

url = "https://takecomic.jp/episodes/74f33031e13cd"
extractor = find_extractor(url)()      # -> Comici
result = Downloader(extractor, "out").download(url)
print(result.status, result.save_dir, result.episode.next_url)

An extractor on its own reads without writing anything:

from getjmanga import Comici

comici = Comici()
for url in comici.series_urls("https://takecomic.jp/series/b167ea507d35f"):
    episode = comici.episode(url)
    print(episode.episode_title, len(episode.pages), episode.readable)

Writing an extractor

See docs/ADD_SITE.md.

License

MIT License

Release files for getjmanga 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for getjmanga 0.0.2
File Size Uploaded
getjmanga-0.0.2.tar.gz 276.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for getjmanga 0.0.2
File Interpreter ABI Platform
getjmanga-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 659.0 kB

Release files / getjmanga-0.0.2.tar.gz

Download URL getjmanga-0.0.2.tar.gz
Size 276.8 kB
Tags Source
SHA-256 checksum
How to use checksums
943acaf5d90e50abc29330475ecc269cf1c786008e7beffe4840732fc84c7cd2
BLAKE2b-256 checksum
How to use checksums
e90c904843597986f2c109bcb548e65c329c81894dd9827ecb0f8e47612c5ab3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / getjmanga-0.0.2-py3-none-any.whl

Download URL getjmanga-0.0.2-py3-none-any.whl
Size 382.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
db2063ae43d32e4649dd046a47fada6ebceadf78e21a8541df6a26b57c2644c6
BLAKE2b-256 checksum
How to use checksums
a7f66f8c0dcb5da27c8cdafcc5d4df72a846ea5661c6de3cde3fc1498a15e332
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.1.0

2 release files

0.0.4

2 release files

0.0.3

2 release files

This release

0.0.2 This release

2 release files

0.0.1

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page