getjump


Namegetjump JSON
Version 2.4.2 PyPI version JSON
download
home_pagehttps://github.com/eggplants/getjump
SummaryGet and save images from jump web viewer
upload_time2024-01-15 13:18:50
maintainer
docs_urlNone
authoreggplants
requires_python>=3.8,<4
licenseMIT
keywords downloader cli manga
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # getjump

[![PyPI version](
  <https://badge.fury.io/py/getjump.svg>
  )](
  <https://badge.fury.io/py/getjump>
) [![Maintainability](
  <https://api.codeclimate.com/v1/badges/8d8c16d52b49885dad8c/maintainability>
  )](
  <https://codeclimate.com/github/eggplants/getjump/maintainability>
) [![pre-commit.ci status](
  <https://results.pre-commit.ci/badge/github/eggplants/getjump/master.svg>
  )](
  <https://results.pre-commit.ci/latest/github/eggplants/getjump/master>
) [![Test Coverage](
  <https://api.codeclimate.com/v1/badges/8d8c16d52b49885dad8c/test_coverage>
  )](
  <https://codeclimate.com/github/eggplants/getjump/test_coverage>
) [![Test](
  <https://github.com/eggplants/getjump/actions/workflows/test.yml/badge.svg>
  )](
  <https://github.com/eggplants/getjump/actions/workflows/test.yml>
)

[![ghcr latest](
  <https://ghcr-badge.deta.dev/eggplants/getjump/latest_tag?trim=major&label=latest>
 ) ![ghcr size](
  <https://ghcr-badge.deta.dev/eggplants/getjump/size>
)](
  <https://github.com/eggplants/getjump/pkgs/container/getjump>
)

- Retrieve and save images from manga distribution sites using [GigaViewer](https://prtimes.jp/main/html/searchrlp/company_id/6510)
  - If you read retrieved comics as conbined PDF, use: [eggplants/mkbook](https://github.com/eggplants/mkbook)

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

## Screenshot

![image](https://user-images.githubusercontent.com/42153744/175097993-c6a2e162-50ea-41d4-9590-19a09a61e053.png)

## Valid URL Formats

- `<host>/(episode|magazine|volume)/<number>`
  - e.g. <https://shonenjumpplus.com/episode/13932016480028799982>
- `<host>/(episode|magazine|volume)/<number>.json`
  - e.g. <https://shonenjumpplus.com/episode/13932016480028799982.json>

## Available Hosts

- `https://www.corocoro.jp`
- `https://comic-action.com`
- `https://comic-days.com`
- `https://comic-earthstar.com`
- `https://comic-gardo.com`
- `https://comic-ogyaaa.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://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 https://shonenjumpplus.com/episode/13932016480028799982.json
get: https://shonenjumpplus.com/episode/13932016480028799982.json
...
saved: ./阿波連さんははかれない/[1話]阿波連さんははかれない
done.

$ jget -b https://shonenjumpplus.com/episode/10833519556325021912.json
get: https://shonenjumpplus.com/episode/10833519556325021912.json
...
saved: ./こちら葛飾区亀有公園前派出所/[第1話]こちら葛飾区亀有公園前派出所
next: https://shonenjumpplus.com/episode/10833519556325022016.json
...
...
...
saved: ./こちら葛飾区亀有公園前派出所/[第1953話]こちら葛飾区亀有公園前派出所
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://www.corocoro.jp
  - https://comic-action.com
  - https://comic-days.com
  - https://comic-gardo.com
  - https://comic-ogyaaa.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://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": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4",
    "maintainer_email": "",
    "keywords": "downloader,cli,manga",
    "author": "eggplants",
    "author_email": "w10776e8w@yahoo.co.jp",
    "download_url": "https://files.pythonhosted.org/packages/ad/13/b4e142c491f60bebe9c2f762ba958e69a42189126941b146ef915231c80a/getjump-2.4.2.tar.gz",
    "platform": null,
    "description": "# getjump\n\n[![PyPI version](\n  <https://badge.fury.io/py/getjump.svg>\n  )](\n  <https://badge.fury.io/py/getjump>\n) [![Maintainability](\n  <https://api.codeclimate.com/v1/badges/8d8c16d52b49885dad8c/maintainability>\n  )](\n  <https://codeclimate.com/github/eggplants/getjump/maintainability>\n) [![pre-commit.ci status](\n  <https://results.pre-commit.ci/badge/github/eggplants/getjump/master.svg>\n  )](\n  <https://results.pre-commit.ci/latest/github/eggplants/getjump/master>\n) [![Test Coverage](\n  <https://api.codeclimate.com/v1/badges/8d8c16d52b49885dad8c/test_coverage>\n  )](\n  <https://codeclimate.com/github/eggplants/getjump/test_coverage>\n) [![Test](\n  <https://github.com/eggplants/getjump/actions/workflows/test.yml/badge.svg>\n  )](\n  <https://github.com/eggplants/getjump/actions/workflows/test.yml>\n)\n\n[![ghcr latest](\n  <https://ghcr-badge.deta.dev/eggplants/getjump/latest_tag?trim=major&label=latest>\n ) ![ghcr size](\n  <https://ghcr-badge.deta.dev/eggplants/getjump/size>\n)](\n  <https://github.com/eggplants/getjump/pkgs/container/getjump>\n)\n\n- Retrieve and save images from manga distribution sites using [GigaViewer](https://prtimes.jp/main/html/searchrlp/company_id/6510)\n  - If you read retrieved comics as conbined 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![image](https://user-images.githubusercontent.com/42153744/175097993-c6a2e162-50ea-41d4-9590-19a09a61e053.png)\n\n## Valid URL Formats\n\n- `<host>/(episode|magazine|volume)/<number>`\n  - e.g. <https://shonenjumpplus.com/episode/13932016480028799982>\n- `<host>/(episode|magazine|volume)/<number>.json`\n  - e.g. <https://shonenjumpplus.com/episode/13932016480028799982.json>\n\n## Available Hosts\n\n- `https://www.corocoro.jp`\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-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://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 https://shonenjumpplus.com/episode/13932016480028799982.json\nget: https://shonenjumpplus.com/episode/13932016480028799982.json\n...\nsaved: ./\u963f\u6ce2\u9023\u3055\u3093\u306f\u306f\u304b\u308c\u306a\u3044/[1\u8a71]\u963f\u6ce2\u9023\u3055\u3093\u306f\u306f\u304b\u308c\u306a\u3044\ndone.\n\n$ jget -b https://shonenjumpplus.com/episode/10833519556325021912.json\nget: https://shonenjumpplus.com/episode/10833519556325021912.json\n...\nsaved: ./\u3053\u3061\u3089\u845b\u98fe\u533a\u4e80\u6709\u516c\u5712\u524d\u6d3e\u51fa\u6240/[\u7b2c1\u8a71]\u3053\u3061\u3089\u845b\u98fe\u533a\u4e80\u6709\u516c\u5712\u524d\u6d3e\u51fa\u6240\nnext: https://shonenjumpplus.com/episode/10833519556325022016.json\n...\n...\n...\nsaved: ./\u3053\u3061\u3089\u845b\u98fe\u533a\u4e80\u6709\u516c\u5712\u524d\u6d3e\u51fa\u6240/[\u7b2c1953\u8a71]\u3053\u3061\u3089\u845b\u98fe\u533a\u4e80\u6709\u516c\u5712\u524d\u6d3e\u51fa\u6240\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://www.corocoro.jp\n  - https://comic-action.com\n  - https://comic-days.com\n  - https://comic-gardo.com\n  - https://comic-ogyaaa.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://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.4.2",
    "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": "abb242a8b923ef9c4e2169d182c10e8e2976c8ebe9b57b50a55288dea887fc5e",
                "md5": "8204edb8474db5c5b37ecff0c0027586",
                "sha256": "fe7101ef6e84c43e29f83475fe41a570a2cded5d8bfd86bc301367b7c52e7f81"
            },
            "downloads": -1,
            "filename": "getjump-2.4.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8204edb8474db5c5b37ecff0c0027586",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4",
            "size": 9815,
            "upload_time": "2024-01-15T13:18:48",
            "upload_time_iso_8601": "2024-01-15T13:18:48.951188Z",
            "url": "https://files.pythonhosted.org/packages/ab/b2/42a8b923ef9c4e2169d182c10e8e2976c8ebe9b57b50a55288dea887fc5e/getjump-2.4.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ad13b4e142c491f60bebe9c2f762ba958e69a42189126941b146ef915231c80a",
                "md5": "75c426076f465ba80e3abe582ed22b22",
                "sha256": "5922df8550aa3fe37ed91b363d45ce9279e5371dd4b5674562b2b59535b57ea4"
            },
            "downloads": -1,
            "filename": "getjump-2.4.2.tar.gz",
            "has_sig": false,
            "md5_digest": "75c426076f465ba80e3abe582ed22b22",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4",
            "size": 10970,
            "upload_time": "2024-01-15T13:18:50",
            "upload_time_iso_8601": "2024-01-15T13:18:50.579633Z",
            "url": "https://files.pythonhosted.org/packages/ad/13/b4e142c491f60bebe9c2f762ba958e69a42189126941b146ef915231c80a/getjump-2.4.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-15 13:18: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"
}
        
Elapsed time: 0.21798s