# getjump
[](
<https://badge.fury.io/py/getjump>
) [](
<https://codeclimate.com/github/eggplants/getjump/maintainability>
) [](
<https://results.pre-commit.ci/latest/github/eggplants/getjump/master>
) [](
<https://codeclimate.com/github/eggplants/getjump/test_coverage>
) [](
<https://github.com/eggplants/getjump/actions/workflows/test.yml>
)
[ ](
<https://github.com/eggplants/getjump/pkgs/container/getjump>
)
- Retrieve and save images from manga distribution sites using [GigaViewer](https://hatena.co.jp/solutions/gigaviewer)
- If you read retrieved comics as combined PDF, use: [eggplants/mkbook](https://github.com/eggplants/mkbook)
_Note: Redistribution of downloaded image data is prohibited. Please keep it to private use._
## Screenshot

## Valid URL Formats
- `<host>/(episode|magazine|volume)/<number>`
- e.g. <https://shonenjumpplus.com/episode/13932016480028799982>
## Available Hosts
- `https://comic-action.com`
- `https://comic-days.com`
- `https://comic-earthstar.com`
- `https://comic-gardo.com`
- `https://comic-ogyaaa.com`
- `https://comic-seasons.com`
- `https://comic-trail.com`
- `https://comic-zenon.com`
- `https://comicborder.com`
- `https://comic-growl.com`
- `https://feelweb.jp`
- `https://kuragebunch.com`
- `https://magcomi.com`
- `https://ourfeel.jp`
- `https://pocket.shonenmagazine.com`
- `https://shonenjumpplus.com`
- `https://tonarinoyj.jp`
- `https://viewer.heros-web.com`
- `https://www.sunday-webry.com`
## Install
```bash
pip install getjump
```
## CLI
### Usage
```shellsession
$ jget -b https://kuragebunch.com/episode/10834108156628843815
get: https://kuragebunch.com/episode/10834108156628843815
Downloading... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% ( 18/18 pages ) remain: 0:00:00 spent: 0:00:02
Saving... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% ( 18/18 pages ) remain: 0:00:00 spent: 0:00:00
saved: 少女終末旅行/01 星空
next: https://kuragebunch.com/episode/10834108156628843819
...
saved: 少女終末旅行/42 終末
done.
```
### Help
```shellsession
$ jget -h
usage: jget [-h] [-b] [-d DIR] [-f] [-o] [-m] [-u ID] [-p PW] [-q] [-V] url
Get images from jump web viewer
positional arguments:
url target url
options:
-h, --help show this help message and exit
-b, --bulk download series in bulk (default: False)
-d DIR, --savedir DIR directory to save downloaded images (default: .)
-f, --first download only first page (default: False)
-o, --overwrite overwrite (default: False)
-m, --metadata save metadata as json (default: False)
-u ID, --username ID username if you want to login (default: None)
-p PW, --password PW password if you want to login (default: None)
-q, --quiet disable console print (default: False)
-V, --version show program's version number and exit
available urls:
- https://comic-action.com
- https://comic-days.com
- https://comic-earthstar.com
- https://comic-gardo.com
- https://comic-ogyaaa.com
- https://comic-seasons.com
- https://comic-trail.com
- https://comic-zenon.com
- https://comicborder.com
- https://comic-growl.com
- https://feelweb.jp
- https://kuragebunch.com
- https://magcomi.com
- https://ourfeel.jp
- https://pocket.shonenmagazine.com
- https://shonenjumpplus.com
- https://www.sunday-webry.com
- https://tonarinoyj.jp
- https://viewer.heros-web.com
```
## Library
### Overview
```python
from getjump import GetJump
g = GetJump() # create session
g.get(
url: str,
save_path: str = ".",
overwrite: bool = True,
only_first: bool = False,
username: str | None = None,
password: str | None = None,
)
# >>> (next_uri: str | None, prev_title: str, saved: bool)
g.login(
url: str,
username: str | None = None,
password: str | None = None,
overwrite: bool = False,
)
# >>> logined_response: requests.Response | None
g.is_valid_uri(url: str)
# >>> is_valid_uri: bool
```
### Download all series
To download all series at once:
```python
from getjump import GetJump as g
G = g()
next_uri = "https://shonenjumpplus.com/episode/13932016480028799982.json"
while next_uri:
next_uri, prev_title, saved = G.get(next_uri, overwrite=False)
if saved:
print("saved:", prev_title)
print("next:", next_uri)
```
### Login
To get purchased or login-required works:
```python
from getjump import GetJump as g
G = g()
G.login("https://shonenjumpplus.com", username="***", password="***")
G.login("https://comic-days.com", username="***", password="***")
...
G.get(...)
```
## License
MIT
---
## Reference
- [fa0311/jump-downloader](https://github.com/fa0311/jump-downloader)
- [少年ジャンププラスの漫画をダウンロードするライブラリ - yuki0311.com](https://blog.yuki0311.com/jumppuls_downloader/)
- [はてな開発の新マンガビューワを「少年ジャンプ+」が採用。集英社と共同でサイト成長、マネタイズの両面を加速 - プレスリリース - 株式会社はてな](https://hatenacorp.jp/press/release/entry/2017/01/18/113000)
- [はてな、集英社「少年ジャンプ+」ブラウザ版への機能提供を拡張。ブラウザ版への電子版「週刊少年ジャンプ」定期購読が可能に|株式会社はてなのプレスリリース](https://prtimes.jp/main/html/rd/p/000000078.000006510.html)
- [GigaViewer の検索結果 - プレスリリース - 株式会社はてな](https://hatenacorp.jp/press/release/search?q=GigaViewer)
- [GigaViewer(ギガビューワー)を作るにあたって - daily thinking running](https://jusei.hatenablog.com/entry/2018/01/09/172026)
Raw data
{
"_id": null,
"home_page": "https://github.com/eggplants/getjump",
"name": "getjump",
"maintainer": null,
"docs_url": null,
"requires_python": "<4,>=3.8",
"maintainer_email": null,
"keywords": "downloader, cli, manga",
"author": "eggplants",
"author_email": "w10776e8w@yahoo.co.jp",
"download_url": "https://files.pythonhosted.org/packages/ae/09/15602b25cbf6be57a6069a291f5b0d5447574d80cc8b34e6d861dccf86ed/getjump-2.7.1.tar.gz",
"platform": null,
"description": "# getjump\n\n[](\n <https://badge.fury.io/py/getjump>\n) [](\n <https://codeclimate.com/github/eggplants/getjump/maintainability>\n) [](\n <https://results.pre-commit.ci/latest/github/eggplants/getjump/master>\n) [](\n <https://codeclimate.com/github/eggplants/getjump/test_coverage>\n) [](\n <https://github.com/eggplants/getjump/actions/workflows/test.yml>\n)\n\n[ ](\n <https://github.com/eggplants/getjump/pkgs/container/getjump>\n)\n\n- Retrieve and save images from manga distribution sites using [GigaViewer](https://hatena.co.jp/solutions/gigaviewer)\n - If you read retrieved comics as combined PDF, use: [eggplants/mkbook](https://github.com/eggplants/mkbook)\n\n_Note: Redistribution of downloaded image data is prohibited. Please keep it to private use._\n\n## Screenshot\n\n\n\n## Valid URL Formats\n\n- `<host>/(episode|magazine|volume)/<number>`\n - e.g. <https://shonenjumpplus.com/episode/13932016480028799982>\n\n## Available Hosts\n\n- `https://comic-action.com`\n- `https://comic-days.com`\n- `https://comic-earthstar.com`\n- `https://comic-gardo.com`\n- `https://comic-ogyaaa.com`\n- `https://comic-seasons.com`\n- `https://comic-trail.com`\n- `https://comic-zenon.com`\n- `https://comicborder.com`\n- `https://comic-growl.com`\n- `https://feelweb.jp`\n- `https://kuragebunch.com`\n- `https://magcomi.com`\n- `https://ourfeel.jp`\n- `https://pocket.shonenmagazine.com`\n- `https://shonenjumpplus.com`\n- `https://tonarinoyj.jp`\n- `https://viewer.heros-web.com`\n- `https://www.sunday-webry.com`\n\n## Install\n\n```bash\npip install getjump\n```\n\n## CLI\n\n### Usage\n\n```shellsession\n$ jget -b https://kuragebunch.com/episode/10834108156628843815\nget: https://kuragebunch.com/episode/10834108156628843815\n Downloading... \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% ( 18/18 pages ) remain: 0:00:00 spent: 0:00:02\n Saving... \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% ( 18/18 pages ) remain: 0:00:00 spent: 0:00:00\nsaved: \u5c11\u5973\u7d42\u672b\u65c5\u884c/01 \u661f\u7a7a\nnext: https://kuragebunch.com/episode/10834108156628843819\n...\nsaved: \u5c11\u5973\u7d42\u672b\u65c5\u884c/42 \u7d42\u672b\ndone.\n```\n\n### Help\n\n```shellsession\n$ jget -h\nusage: jget [-h] [-b] [-d DIR] [-f] [-o] [-m] [-u ID] [-p PW] [-q] [-V] url\n\nGet images from jump web viewer\n\npositional arguments:\n url target url\n\noptions:\n -h, --help show this help message and exit\n -b, --bulk download series in bulk (default: False)\n -d DIR, --savedir DIR directory to save downloaded images (default: .)\n -f, --first download only first page (default: False)\n -o, --overwrite overwrite (default: False)\n -m, --metadata save metadata as json (default: False)\n -u ID, --username ID username if you want to login (default: None)\n -p PW, --password PW password if you want to login (default: None)\n -q, --quiet disable console print (default: False)\n -V, --version show program's version number and exit\n\navailable urls:\n - https://comic-action.com\n - https://comic-days.com\n - https://comic-earthstar.com\n - https://comic-gardo.com\n - https://comic-ogyaaa.com\n - https://comic-seasons.com\n - https://comic-trail.com\n - https://comic-zenon.com\n - https://comicborder.com\n - https://comic-growl.com\n - https://feelweb.jp\n - https://kuragebunch.com\n - https://magcomi.com\n - https://ourfeel.jp\n - https://pocket.shonenmagazine.com\n - https://shonenjumpplus.com\n - https://www.sunday-webry.com\n - https://tonarinoyj.jp\n - https://viewer.heros-web.com\n```\n\n## Library\n\n### Overview\n\n```python\nfrom getjump import GetJump\ng = GetJump() # create session\n\ng.get(\n url: str,\n save_path: str = \".\",\n overwrite: bool = True,\n only_first: bool = False,\n username: str | None = None,\n password: str | None = None,\n)\n# >>> (next_uri: str | None, prev_title: str, saved: bool)\n\ng.login(\n url: str,\n username: str | None = None,\n password: str | None = None,\n overwrite: bool = False,\n)\n# >>> logined_response: requests.Response | None\n\ng.is_valid_uri(url: str)\n# >>> is_valid_uri: bool\n```\n\n### Download all series\n\nTo download all series at once:\n\n```python\nfrom getjump import GetJump as g\n\nG = g()\nnext_uri = \"https://shonenjumpplus.com/episode/13932016480028799982.json\"\nwhile next_uri:\n next_uri, prev_title, saved = G.get(next_uri, overwrite=False)\n if saved:\n print(\"saved:\", prev_title)\n print(\"next:\", next_uri)\n```\n\n### Login\n\nTo get purchased or login-required works:\n\n```python\nfrom getjump import GetJump as g\n\nG = g()\nG.login(\"https://shonenjumpplus.com\", username=\"***\", password=\"***\")\nG.login(\"https://comic-days.com\", username=\"***\", password=\"***\")\n...\nG.get(...)\n```\n\n## License\n\nMIT\n\n---\n\n## Reference\n\n- [fa0311/jump-downloader](https://github.com/fa0311/jump-downloader)\n- [\u5c11\u5e74\u30b8\u30e3\u30f3\u30d7\u30d7\u30e9\u30b9\u306e\u6f2b\u753b\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u30e9\u30a4\u30d6\u30e9\u30ea - yuki0311.com](https://blog.yuki0311.com/jumppuls_downloader/)\n- [\u306f\u3066\u306a\u958b\u767a\u306e\u65b0\u30de\u30f3\u30ac\u30d3\u30e5\u30fc\u30ef\u3092\u300c\u5c11\u5e74\u30b8\u30e3\u30f3\u30d7\uff0b\u300d\u304c\u63a1\u7528\u3002\u96c6\u82f1\u793e\u3068\u5171\u540c\u3067\u30b5\u30a4\u30c8\u6210\u9577\u3001\u30de\u30cd\u30bf\u30a4\u30ba\u306e\u4e21\u9762\u3092\u52a0\u901f - \u30d7\u30ec\u30b9\u30ea\u30ea\u30fc\u30b9 - \u682a\u5f0f\u4f1a\u793e\u306f\u3066\u306a](https://hatenacorp.jp/press/release/entry/2017/01/18/113000)\n- [\u306f\u3066\u306a\u3001\u96c6\u82f1\u793e\u300c\u5c11\u5e74\u30b8\u30e3\u30f3\u30d7\uff0b\u300d\u30d6\u30e9\u30a6\u30b6\u7248\u3078\u306e\u6a5f\u80fd\u63d0\u4f9b\u3092\u62e1\u5f35\u3002\u30d6\u30e9\u30a6\u30b6\u7248\u3078\u306e\u96fb\u5b50\u7248\u300c\u9031\u520a\u5c11\u5e74\u30b8\u30e3\u30f3\u30d7\u300d\u5b9a\u671f\u8cfc\u8aad\u304c\u53ef\u80fd\u306b\uff5c\u682a\u5f0f\u4f1a\u793e\u306f\u3066\u306a\u306e\u30d7\u30ec\u30b9\u30ea\u30ea\u30fc\u30b9](https://prtimes.jp/main/html/rd/p/000000078.000006510.html)\n- [GigaViewer \u306e\u691c\u7d22\u7d50\u679c - \u30d7\u30ec\u30b9\u30ea\u30ea\u30fc\u30b9 - \u682a\u5f0f\u4f1a\u793e\u306f\u3066\u306a](https://hatenacorp.jp/press/release/search?q=GigaViewer)\n- [GigaViewer\uff08\u30ae\u30ac\u30d3\u30e5\u30fc\u30ef\u30fc\uff09\u3092\u4f5c\u308b\u306b\u3042\u305f\u3063\u3066 - daily thinking running](https://jusei.hatenablog.com/entry/2018/01/09/172026)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Get and save images from jump web viewer",
"version": "2.7.1",
"project_urls": {
"Homepage": "https://github.com/eggplants/getjump",
"Repository": "https://github.com/eggplants/getjump"
},
"split_keywords": [
"downloader",
" cli",
" manga"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "cb2c67bedf7b96f2d5c4775f0be5fac7026e5ef3e452a0db4b5fa167815bb225",
"md5": "5abd27ad08dd7c7854e267a18409d053",
"sha256": "7a856c439e43517434e047db3fee429d48b984a8ec057f7324d117181aeac143"
},
"downloads": -1,
"filename": "getjump-2.7.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5abd27ad08dd7c7854e267a18409d053",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4,>=3.8",
"size": 9971,
"upload_time": "2025-01-04T19:11:48",
"upload_time_iso_8601": "2025-01-04T19:11:48.734279Z",
"url": "https://files.pythonhosted.org/packages/cb/2c/67bedf7b96f2d5c4775f0be5fac7026e5ef3e452a0db4b5fa167815bb225/getjump-2.7.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ae0915602b25cbf6be57a6069a291f5b0d5447574d80cc8b34e6d861dccf86ed",
"md5": "0f2f0dca0fb0fd75603b1fe40112f15b",
"sha256": "b4833b82c821f030cfa611acac6795e98dd19808ddc70f4c8310c8b7e110c05d"
},
"downloads": -1,
"filename": "getjump-2.7.1.tar.gz",
"has_sig": false,
"md5_digest": "0f2f0dca0fb0fd75603b1fe40112f15b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4,>=3.8",
"size": 11087,
"upload_time": "2025-01-04T19:11:50",
"upload_time_iso_8601": "2025-01-04T19:11:50.574135Z",
"url": "https://files.pythonhosted.org/packages/ae/09/15602b25cbf6be57a6069a291f5b0d5447574d80cc8b34e6d861dccf86ed/getjump-2.7.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-04 19:11:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "eggplants",
"github_project": "getjump",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "getjump"
}