This is a tool to download and convert novels from popular sites to e-books.
v0.7.+ is not compatible with previous versions
pip install novelsave
or
pip install git+https://github.com/mensch272/novelsave.git
Join our server: https://discord.gg/eFgtrKTFt3
The default environmental variables are shown below. Modify them to your liking when deploying.
DISCORD_TOKEN
is required, others are optional.
DISCORD_TOKEN= # Required: discord bot token
DISCORD_SESSION_TIMEOUT=10 # Minutes
DISCORD_SESSION_THREADS=5
DISCORD_SEARCH_LIMIT=20 # Maximum results to show
DISCORD_SEARCH_DISABLED=no # Disable search functionality
DISCORD_EXTERNAL_FILEHOST=none # options: anonfiles, gofiles, none
Fill out the following form and set the environmental variables.
To download and package the novel in a single line use the following command:
novelsave process <id_or_url>
The most common commands you'll be using are:
The command requires the url of the id of the novel as an argument. When the novel has been identified it attempts to update the current novel information in the following steps:
- Download the novel webpage.
- Update the novel information. This includes title, author and pending chapters.
- Identify the chapters with no content and download and update them.
- Download any assets that require to be downloaded (assets are identified during chapter download).
Note that, if url is provided and the novel does not already exist in the database, a new novel entry will be created.
For more information, run
novelsave update --help
The command requires the url of the id of the novel as an argument. When novel is identified compiles the downloaded content into the specified formats.
Specify a compilation target using the --target
option. If option is not provided
compiles to only epub.
Or you may use --target-all
to package to all supported formats.
novelsave package <id_or_url> --target epub --target web
Supported compilation targets:
epub
html
mobi
pdf
azw3
text
For more information, run
novelsave package --help
The command requires the url of the id of the novel as an argument. This is a combination of the above two commands, update
and package
.
This is a command of convenience, to update and package in a single command.
For more information, run
novelsave process --help
Use the following command to show all the current configurations. Default value will be shown in case none is set.
novelsave config show
You may change your configurations using set
or reset
. For example:
novelsave config set novel.dir --value ~/mynovels
novelsave config reset novel.dir
All supported configurations are:
novel.dir
- Your desired novel's packaged data (epub, mobi) save location
To find more information, use option --help
on groups and commands.
novelsave --help
novelsave novel --help
Want to access authentication protected content, use browser cookies.
This is an optional feature where you may use cookies from your browsers when sending requests. This effectively allows the script to pretend as the browser and thus allowing access to any content the browser would also be able to access.
You can use this in the following simple steps:
- Login to your source of choice with your browser of choice (though make sure the browser is supported).
- Use option
--browser <browser>
when updating novel (also available in process).
novelsave [update|process] <id_or_url> --browser <browser>
Supported
chrome
firefox
chromium
opera
edge
brave
Sources have been moved to its own package. You can install and upgrade sources using the following command.
pip install novelsave-sources --upgrade
We are not affiliated, associated, authorized, endorsed by, or in any way officially connected with the any of the sources mentioned above.