getpycomic


Namegetpycomic JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/kurotom/getpycomic
SummaryTake the manga/comics wherever you want.
upload_time2025-07-15 16:36:58
maintainerNone
docs_urlNone
authorkurotom
requires_python<4.0,>=3.9
licenseMIT
keywords comic manga cbz scraping selenium
VCS
bugtrack_url
requirements attrs certifi cffi charset-normalizer exceptiongroup fake-useragent h11 idna importlib-resources outcome pillow platformdirs pycparser pysocks requests selenium sniffio sortedcontainers trio-websocket trio typing-extensions urllib3 websocket-client wsproto zipp
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # getpycomic

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

Searches and obtains the manga/comic images and generates a *CBZ* file. Allows to group the chapters by volumes.

By default, it uses 6 chapters per volume or if you want to know the volumes and chapters you can consult that information at [https://comick.io](https://comick.io).

It also allows to convert directories with manga/comic images into CBZ files. Internal directory structure you must have:

```bash
DIRECTORY
├── 1.0
│   ├── 001.jpg
│   ├── 002.jpg
│   └── 003.jpg
├── 2.0
│   ├── 001.jpg
│   ├── 002.jpg
│   └── 003.jpg
└── 3.0
    ├── 001.jpg
    ├── 002.jpg
    └── 003.jpg
```

All images and CBZ files are stored on the current user's desktop.

## Supported pages

- [tmomanga](https://tmomanga.com/)
- [zonatmo](https://zonatmo.com/)
- [novelcool](https://novelcool.com/)

To request new pages, make a new `issue` with `enhancement` tag.

<br>

> [!NOTE]
> This project aims to give you the possibility to take this entertainment wherever you go, even without an Internet connection.

> [!IMPORTANT]
> You must have [Firefox](https://www.mozilla.org/) installed.
It will search the default paths of *Firefox*. If it is not found or installed in another path, use the `--firefox-bin` argument and the full path to the executable.

> [!IMPORTANT]
> **DISCLAIMER:**  
> This application does not host, distribute, or store any copyrighted content.
> It is a technical tool intended for personal or educational purposes only.
> The author is not responsible for any misuse or legal consequences resulting from its use.


<br>

# Installation

```bash
$ pip install getpycomic
```


# Usage

```bash
$ getpycomic --help
usage: getpycomic [-h] -n NAME_OR_PATH [NAME_OR_PATH ...] [-w {tmomanga,zonatmo,novelcool}] [-c CHAPTER] [-v VOLUMES [VOLUMES ...]] [--no-cbz]
                  [-e {selenium}] [-l {en,es,br,it,ru,de,fr}] [--no-download] [-s] [--verbose] [-i] [--debug] [--no-preserve]
                  [--size {original,small,medium,large}] [--firefox-bin FIREFOX_BIN]

Gets manga/comic from web to CBZ files.

optional arguments:
  -h, --help            show this help message and exit
  -n NAME_OR_PATH [NAME_OR_PATH ...], --name_or_path NAME_OR_PATH [NAME_OR_PATH ...]
                        Name of the manga/comic or path of the manga/comic downloaded
  -w {tmomanga,zonatmo,novelcool}, --web {tmomanga,zonatmo,novelcool}
                        Select website. Default `tmomanga`
  -c CHAPTER, --chapter CHAPTER
                        Chapters: `all`, `1,5`, `5+` `1-5`. Default `all`.
  -v VOLUMES [VOLUMES ...], --volumes VOLUMES [VOLUMES ...]
                        Indicate how the chapters will be put together by volume in the CBZ file. By default, each volume has `6` chapters. For
                        example: 1:[1,4],2:[5,9]
  --no-cbz              It only downloads chapters and does not create CBZ files.
  -e {selenium}, --engine {selenium}
                        Select engine to get data. Default `selenium`.
  -l {en,es,br,it,ru,de,fr}, --language {en,es,br,it,ru,de,fr}
                        Select language. Default `es`.
  --no-download         It does not configure the motor and does not prepare it.
  -s, --show            Show engine or not. Default is no.
  --verbose             Displays messages of all operations.
  -i, --interactive     Interactive Prompt for manga/comics search. By default the first item found is used.
  --debug               Show more messages for debug.
  --no-preserve         Preserve or not the manga/comic images. By default the images are preserved.
  --size {original,small,medium,large}
                        Select the size of the image. Default is `original`.
   FIREFOX_BIN
                        Binary path of Firefox.

You can read your manga/comics wherever you want.
```

## Image sizes

Available options used by the `--size` argument:

| Options | Sizes |
|-|-|
| `original` | retains original sizes |
| `small` | 800x1200 |
| `medium` | 1000x1500 |
| `large` | 1200x1800 |


# Examples

* gets all chapters and create volumes with 6 chapter.

```bash
$ getpycomic --name_or_path MANGA_NAME --web zonatmo
```

* gets all available chapters of "MANGA_NAME" from "zonatmo", all images are stored with `small` size and builds CBZ files with specific chapters.

```bash
$ getpycomic --name_or_path MANGA_NAME --web zonatmo --chapter all --size small --volumes 1: [1, 15],2: [16, 30],3: [31, 45]
```
or
```bash
$ getpycomic --name_or_path MANGA_NAME --web zonatmo --chapter all --size small --volumes 1:[1,15],2:[16,30],3:[31,45]
```

* convert image directory to CBZ files. Using `--volumes` you can specify chapters per volume, if omitted, 6 chapters per volume will be used.

```bash
$ getpycomic --name_or_path /path/DIRECTORY --no-download
```
or
```bash
$ getpycomic --name_or_path /path/DIRECTORY --no-download --volumes 1:[1,3]
```

* Pass the *Firefox* binary path.

Linux
```bash
$ getpycomic --name_or_path MANGA_NAME --firefox-bin /path/firefox
```

Windows

```bash
$ getpycomic --name_or_path MANGA_NAME --firefox-bin \path\firefox.exe
```


# License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/kurotom/getpycomic",
    "name": "getpycomic",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": "comic, manga, cbz, scraping, selenium",
    "author": "kurotom",
    "author_email": "55354389+kurotom@users.noreply.github.com",
    "download_url": "https://files.pythonhosted.org/packages/d5/0d/ff5025c7c1994bc4a918373948dff29d34d55c6b4dc267f9da7ca464622c/getpycomic-0.1.1.tar.gz",
    "platform": null,
    "description": "# getpycomic\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\nSearches and obtains the manga/comic images and generates a *CBZ* file. Allows to group the chapters by volumes.\n\nBy default, it uses 6 chapters per volume or if you want to know the volumes and chapters you can consult that information at [https://comick.io](https://comick.io).\n\nIt also allows to convert directories with manga/comic images into CBZ files. Internal directory structure you must have:\n\n```bash\nDIRECTORY\n\u251c\u2500\u2500 1.0\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 001.jpg\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 002.jpg\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 003.jpg\n\u251c\u2500\u2500 2.0\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 001.jpg\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 002.jpg\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 003.jpg\n\u2514\u2500\u2500 3.0\n \u00a0\u00a0 \u251c\u2500\u2500 001.jpg\n \u00a0\u00a0 \u251c\u2500\u2500 002.jpg\n  \u00a0 \u2514\u2500\u2500 003.jpg\n```\n\nAll images and CBZ files are stored on the current user's desktop.\n\n## Supported pages\n\n- [tmomanga](https://tmomanga.com/)\n- [zonatmo](https://zonatmo.com/)\n- [novelcool](https://novelcool.com/)\n\nTo request new pages, make a new `issue` with `enhancement` tag.\n\n<br>\n\n> [!NOTE]\n> This project aims to give you the possibility to take this entertainment wherever you go, even without an Internet connection.\n\n> [!IMPORTANT]\n> You must have [Firefox](https://www.mozilla.org/) installed.\nIt will search the default paths of *Firefox*. If it is not found or installed in another path, use the `--firefox-bin` argument and the full path to the executable.\n\n> [!IMPORTANT]\n> **DISCLAIMER:**  \n> This application does not host, distribute, or store any copyrighted content.\n> It is a technical tool intended for personal or educational purposes only.\n> The author is not responsible for any misuse or legal consequences resulting from its use.\n\n\n<br>\n\n# Installation\n\n```bash\n$ pip install getpycomic\n```\n\n\n# Usage\n\n```bash\n$ getpycomic --help\nusage: getpycomic [-h] -n NAME_OR_PATH [NAME_OR_PATH ...] [-w {tmomanga,zonatmo,novelcool}] [-c CHAPTER] [-v VOLUMES [VOLUMES ...]] [--no-cbz]\n                  [-e {selenium}] [-l {en,es,br,it,ru,de,fr}] [--no-download] [-s] [--verbose] [-i] [--debug] [--no-preserve]\n                  [--size {original,small,medium,large}] [--firefox-bin FIREFOX_BIN]\n\nGets manga/comic from web to CBZ files.\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -n NAME_OR_PATH [NAME_OR_PATH ...], --name_or_path NAME_OR_PATH [NAME_OR_PATH ...]\n                        Name of the manga/comic or path of the manga/comic downloaded\n  -w {tmomanga,zonatmo,novelcool}, --web {tmomanga,zonatmo,novelcool}\n                        Select website. Default `tmomanga`\n  -c CHAPTER, --chapter CHAPTER\n                        Chapters: `all`, `1,5`, `5+` `1-5`. Default `all`.\n  -v VOLUMES [VOLUMES ...], --volumes VOLUMES [VOLUMES ...]\n                        Indicate how the chapters will be put together by volume in the CBZ file. By default, each volume has `6` chapters. For\n                        example: 1:[1,4],2:[5,9]\n  --no-cbz              It only downloads chapters and does not create CBZ files.\n  -e {selenium}, --engine {selenium}\n                        Select engine to get data. Default `selenium`.\n  -l {en,es,br,it,ru,de,fr}, --language {en,es,br,it,ru,de,fr}\n                        Select language. Default `es`.\n  --no-download         It does not configure the motor and does not prepare it.\n  -s, --show            Show engine or not. Default is no.\n  --verbose             Displays messages of all operations.\n  -i, --interactive     Interactive Prompt for manga/comics search. By default the first item found is used.\n  --debug               Show more messages for debug.\n  --no-preserve         Preserve or not the manga/comic images. By default the images are preserved.\n  --size {original,small,medium,large}\n                        Select the size of the image. Default is `original`.\n   FIREFOX_BIN\n                        Binary path of Firefox.\n\nYou can read your manga/comics wherever you want.\n```\n\n## Image sizes\n\nAvailable options used by the `--size` argument:\n\n| Options | Sizes |\n|-|-|\n| `original` | retains original sizes |\n| `small` | 800x1200 |\n| `medium` | 1000x1500 |\n| `large` | 1200x1800 |\n\n\n# Examples\n\n* gets all chapters and create volumes with 6 chapter.\n\n```bash\n$ getpycomic --name_or_path MANGA_NAME --web zonatmo\n```\n\n* gets all available chapters of \"MANGA_NAME\" from \"zonatmo\", all images are stored with `small` size and builds CBZ files with specific chapters.\n\n```bash\n$ getpycomic --name_or_path MANGA_NAME --web zonatmo --chapter all --size small --volumes 1: [1, 15],2: [16, 30],3: [31, 45]\n```\nor\n```bash\n$ getpycomic --name_or_path MANGA_NAME --web zonatmo --chapter all --size small --volumes 1:[1,15],2:[16,30],3:[31,45]\n```\n\n* convert image directory to CBZ files. Using `--volumes` you can specify chapters per volume, if omitted, 6 chapters per volume will be used.\n\n```bash\n$ getpycomic --name_or_path /path/DIRECTORY --no-download\n```\nor\n```bash\n$ getpycomic --name_or_path /path/DIRECTORY --no-download --volumes 1:[1,3]\n```\n\n* Pass the *Firefox* binary path.\n\nLinux\n```bash\n$ getpycomic --name_or_path MANGA_NAME --firefox-bin /path/firefox\n```\n\nWindows\n\n```bash\n$ getpycomic --name_or_path MANGA_NAME --firefox-bin \\path\\firefox.exe\n```\n\n\n# License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Take the manga/comics wherever you want.",
    "version": "0.1.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/kurotom/getpycomic/issues",
        "Homepage": "https://github.com/kurotom/getpycomic",
        "Repository": "https://github.com/kurotom/getpycomic"
    },
    "split_keywords": [
        "comic",
        " manga",
        " cbz",
        " scraping",
        " selenium"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f6c3aaf40860c1c2210731e16a8876c3907af2b35305fdebd2ad5a1707301e99",
                "md5": "fa6af16f575df501e685440774f9a080",
                "sha256": "ddee4bed305e855db879c9e99507f2004488b2250ca53343c2accc94e8c3e516"
            },
            "downloads": -1,
            "filename": "getpycomic-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "fa6af16f575df501e685440774f9a080",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 8120312,
            "upload_time": "2025-07-15T16:36:57",
            "upload_time_iso_8601": "2025-07-15T16:36:57.366454Z",
            "url": "https://files.pythonhosted.org/packages/f6/c3/aaf40860c1c2210731e16a8876c3907af2b35305fdebd2ad5a1707301e99/getpycomic-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d50dff5025c7c1994bc4a918373948dff29d34d55c6b4dc267f9da7ca464622c",
                "md5": "2aa5fdde35cb72ebaa442ea972abd689",
                "sha256": "e569e4273c758cc13eaf8fc4fa3486c7f3edea22eba21e7e75f9a44ab2da5ac5"
            },
            "downloads": -1,
            "filename": "getpycomic-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "2aa5fdde35cb72ebaa442ea972abd689",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 8086777,
            "upload_time": "2025-07-15T16:36:58",
            "upload_time_iso_8601": "2025-07-15T16:36:58.850662Z",
            "url": "https://files.pythonhosted.org/packages/d5/0d/ff5025c7c1994bc4a918373948dff29d34d55c6b4dc267f9da7ca464622c/getpycomic-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-15 16:36:58",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kurotom",
    "github_project": "getpycomic",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "attrs",
            "specs": [
                [
                    "==",
                    "25.3.0"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2025.7.14"
                ]
            ]
        },
        {
            "name": "cffi",
            "specs": [
                [
                    "==",
                    "1.17.1"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "3.4.2"
                ]
            ]
        },
        {
            "name": "exceptiongroup",
            "specs": [
                [
                    "==",
                    "1.3.0"
                ]
            ]
        },
        {
            "name": "fake-useragent",
            "specs": [
                [
                    "==",
                    "2.2.0"
                ]
            ]
        },
        {
            "name": "h11",
            "specs": [
                [
                    "==",
                    "0.16.0"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.10"
                ]
            ]
        },
        {
            "name": "importlib-resources",
            "specs": [
                [
                    "==",
                    "6.5.2"
                ]
            ]
        },
        {
            "name": "outcome",
            "specs": [
                [
                    "==",
                    "1.3.0.post0"
                ]
            ]
        },
        {
            "name": "pillow",
            "specs": [
                [
                    "==",
                    "11.3.0"
                ]
            ]
        },
        {
            "name": "platformdirs",
            "specs": [
                [
                    "==",
                    "4.3.8"
                ]
            ]
        },
        {
            "name": "pycparser",
            "specs": [
                [
                    "==",
                    "2.22"
                ]
            ]
        },
        {
            "name": "pysocks",
            "specs": [
                [
                    "==",
                    "1.7.1"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.32.4"
                ]
            ]
        },
        {
            "name": "selenium",
            "specs": [
                [
                    "==",
                    "4.34.2"
                ]
            ]
        },
        {
            "name": "sniffio",
            "specs": [
                [
                    "==",
                    "1.3.1"
                ]
            ]
        },
        {
            "name": "sortedcontainers",
            "specs": [
                [
                    "==",
                    "2.4.0"
                ]
            ]
        },
        {
            "name": "trio-websocket",
            "specs": [
                [
                    "==",
                    "0.12.2"
                ]
            ]
        },
        {
            "name": "trio",
            "specs": [
                [
                    "==",
                    "0.30.0"
                ]
            ]
        },
        {
            "name": "typing-extensions",
            "specs": [
                [
                    "==",
                    "4.14.1"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "2.5.0"
                ]
            ]
        },
        {
            "name": "websocket-client",
            "specs": [
                [
                    "==",
                    "1.8.0"
                ]
            ]
        },
        {
            "name": "wsproto",
            "specs": [
                [
                    "==",
                    "1.2.0"
                ]
            ]
        },
        {
            "name": "zipp",
            "specs": [
                [
                    "==",
                    "3.23.0"
                ]
            ]
        }
    ],
    "lcname": "getpycomic"
}
        
Elapsed time: 0.87560s