Skip to main content

webcomix

BuildCoverage StatusPyPI version

Description

webcomix is a webcomic downloader that can additionally create a .cbz (Comic Book ZIP) file once downloaded.

Notice

This program is for personal use only. Please be aware that by making the downloaded comics publicly available without the permission of the author, you may be infringing upon various copyrights.

Installation

Dependencies

  • Python (3.10 or newer)
  • click
  • scrapy (Some additional steps might be required to include this package and can be found here)
  • scrapy-playwright
  • scrapy-fake-useragent
  • tqdm
  • Playwright browsers (for JavaScript-dependent websites with -j option): run python -m playwright install chromium

Process

End user

  1. Install Python 3
  2. Install the command line interface tool with pip install webcomix or use uvx

Developer

  1. Install Python 3
  2. Clone this repository and open a terminal in its directory
  3. Install uv with pip install uv
  4. Download the dependencies by running uv sync
  5. Install pre-commit hooks with pre-commit install

Usage

webcomix [OPTIONS] COMMAND [ARGS]

Global Flags

help

Show the help message and exit.

Version

Show the version number and exit.

Commands

comics

Shows all predefined comics which can be used with the download command.

download

Downloads a predefined comic. Supports the --cbz flag, which creates a .cbz archive of the downloaded comic.

search

Searches for an XPath that can download the whole comic. Supports the --cbz flag, which creates a .cbz archive of the downloaded comic,-s, which verifies only the provided page of the comic, -y, which skips the verification prompt, and -j, which runs the javascript on pages before downloading.

custom

Downloads a user-defined comic. To download a specific comic, you'll need a link to the first page, an XPath expression giving out the link to the next page and an XPath expression giving out the link to the image. More info here. Supports the --cbz flag, which creates a .cbz archive of the downloaded comic, -s, which verifies only the provided page of the comic, and -y, which skips the verification prompt.

Examples

  • webcomix download xkcd
  • webcomix search xkcd --start-url=http://xkcd.com/1/
  • webcomix custom --cbz (You will be prompted about other needed arguments)
  • webcomix custom xkcd --start-url=http://xkcd.com/1/ --next-page-xpath="//a[@rel='next']/@href" --image-xpath="//div[@id='comic']//img/@src" --cbz (Same as before, but with all arguments declared beforehand)

Making an XPath selector

Using an HTML inspector, spot a html path to the next link's href attribute/comic image's src attribute.

e.g.: //div[@class='foo']/img/@src This will select the src attribute of the first image whose class is: foo

Note: webcomix works best on static websites, since scrapy(the framework we use to travel web pages) doesn't process Javascript.

To make sure your XPath is correct, you have to go into scrapy shell, which should be downloaded when you've installed webcomix.

scrapy shell <website> --> Use the website's url to go to it.
> response.body --> Will give you the html from the website.
> response.xpath --> Test an xpath selection. If you get [], this means your XPath expression hasn't gotten anything from the webpage.

Contribution

The procedure depends on the type of contribution:

  • If you simply want to request the addition of a comic to the list of supported comics, make an issue with the label "Enhancement".
  • If you want to request the addition of a feature to the system or a bug fix, make an issue with the appropriate label.

Running the tests

To run the tests, you have to use the pytest command in the webcomix folder.

Release files for webcomix 4.0.3

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

Source distribution (sdist)

Source distribution for webcomix 4.0.3
File Size Uploaded
webcomix-4.0.3.tar.gz 332.3 kB Details

Built distribution (wheel)

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

Total release size: 681.9 kB

Release files / webcomix-4.0.3.tar.gz

Download URL webcomix-4.0.3.tar.gz
Size 332.3 kB
Tags Source
SHA-256 checksum
How to use checksums
1d7154a506ff45082bb20c24a0e04a4dd04c175a91aec36855123f3dd1718181
BLAKE2b-256 checksum
How to use checksums
fb3c56f71dd81b61fa9116d4512c36f22619c8afae06da363f487578a8d40eab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / webcomix-4.0.3-py3-none-any.whl

Download URL webcomix-4.0.3-py3-none-any.whl
Size 349.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cafffcad5f1b018b057e782b0dfdccf56fb12c41ee62bf4601891b6249dbb1a1
BLAKE2b-256 checksum
How to use checksums
5dff8a1460cf07107b7fd26df74ce8bb81be98deaec590547253f0d12c1a328d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

4.0.3 This release

2 release files

4.0.2

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.12.0

2 release files

3.11.5

2 release files

3.11.4

2 release files

3.11.3

2 release files

3.11.2

2 release files

3.11.0

2 release files

3.10.2

2 release files

3.9.0

2 release files

3.8.1

2 release files

3.8.0

2 release files

3.7.0

2 release files

3.6.9

2 release files

3.6.8

2 release files

3.6.7

2 release files

3.6.6

2 release files

3.6.5

2 release files

3.6.4

2 release files

3.6.3

2 release files

3.6.2

2 release files

3.6.1

2 release files

3.6.0

2 release files

3.5.1

2 release files

3.5.0

2 release files

3.4.2

2 release files

3.4.1

2 release files

3.4

2 release files

3.3.2

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.6

2 release files

3.2.5

2 release files

3.2.3

2 release files

3.2.2

2 release files

3.2.1

2 release files

3.2

2 release files

3.1.2

2 release files

3.1.1

2 release files

3.1

2 release files

3.0

2 release files

2.1

2 release files

2.0

2 release files

1.4

1 release file

1.3

1 release file

1.2

1 release file

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