Worms author might not like this existing, hence the copy.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Domenic Denicola 43a80d5dd9 5.0.0 3 months ago
.github/workflows Update dependencies and minimum Node 3 months ago
covers Tweaks to cover-related EPUB stuff 1 year ago
lib Use minipass-fetch instead of requisition 3 months ago
scaffolding Add per-book covers 1 year ago
.editorconfig Make a nicer command-line interface 7 years ago
.eslintrc.json Use @domenic/eslint-config 1 year ago
.gitignore Start generalizing to work for Ward too 1 year ago
LICENSE.txt Update dependencies 1 year ago
README.md Update dependencies and minimum Node 3 months ago
npm-shrinkwrap.json 5.0.0 3 months ago
package.json 5.0.0 3 months ago


Worm Scraper

Scrapes the web serial Worm and its sequel Ward into an eBook format.

How to use

First you'll need a modern version of Node.js. At least v16.13.2 is necessary.

Then, open a terminal (Mac documentation, Windows documentation) and install the program by typing

npm install -g worm-scraper

This will take a while as it downloads this program and its dependencies from the internet. Once it's done, try to run it, by typing:

worm-scraper --help

If this outputs some help documentation, then the installation process went smoothly. You can move on to assemble the eBook by typing


This will take a while, but will eventually produce a Worm.epub file!

If you'd like to get Ward instead of Worm, use --book=ward, e.g.

worm-scraper --book=ward

EPUB vs. other formats

EPUB is one of the primary eBook formats, but it is not recognized by all readers, including most Amazon Kindle devices. You can use an online converter or other tool to convert EPUB to Kindle MOBI, or any other format.

Alternately, if you are a developer, a pull request adding support for MOBI output would be appreciated; please open an issue to discuss how you plan to proceed.

Text fixups

This project makes a lot of fixups to the original text, mostly around typos, punctuation, capitalization, and consistency. You can get a more specific idea of what these are via the code; there's convert-worker.js, where some things are handled generally, and substitutions.json, for one-off fixes.

This process is designed to be extensible, so if you notice any problems with the original text that you think should be fixed, file an issue to let me know, and we can update the fixup code so that the resulting eBook is improved. (Or better yet, send a pull request!)