Skip to main content

A fiction downloader, capable of retrieving works of fiction from the net and saving them in afew common file formats.

Project description

fiction-dl (1.6.0)

Screenshot (Windows 10) Screenshot (Linux Mint 20)

fiction-dl is a command-line utility made for downloading works of fiction from the web, capable of auto-formatting and saving them in a few common file formats. It requires a Python interpreter installed, version 3.8 or higher.

The application supports more than a dozen websites, generates HTML, EPUB, MOBI, ODT and PDF output files, applies typographic corrections to the extracted content and is able to embed downloaded images within it.

✿ Table of Contents

  1. Features.
  2. Installation.
  3. Usage.
  4. License.
  5. Technical.

✿ Features

Downloading stories

fiction-dl can download stories from a multitude of sites - in some cases, it also supports downloading all stories published by any specific user (which is called downloading stories from a channel).

Category Site Authentication support Channel support
fanfiction Archive of Our Own ✗ no yes [1]
fanfiction FanFiction.net ✗ no yes
fanfiction FicWad.com ✗ no yes
fanfiction SpaceBattles.com yes ✗ no
fanfiction SufficientVelocity.com yes ✗ no
fanfiction AlternateHistory.com yes ✗ no
fanfiction QuestionableQuesting.com ✗ no ✗ no
fanfiction HarryPotterFanFiction.com ✗ no ✗ no
original fiction Fiction Press ✗ no yes
original fiction Reddit yes ✗ no
erotica AdultFanFiction ✗ no ✗ no
erotica Literotica ✗ no yes
erotica Hentai Foundry ✗ no yes
erotica NajlepszaErotyka.com.pl ✗ no ✗ no
erotica Nifty.org ✗ no ✗ no

[1] fiction-dl is also capable of downloading whole collections and series.

It is also capable of reading stories saved in text files. You can put the HTML-formatted story in a raw text file and use fiction-dl to translate it to some more civilized format.

Formatting stories

Downloaded stories are auto-formatted and saved in a few file formats:

File Format Requirements
HTML (.html) None.
EPUB (.epub) None.
MOBI (.mobi) Calibre installed on the machine.
OpenDocument (.odt) None.
Portable Document Format (.pdf) LibreOffice installed on the machine.

Embedding images

The application can download images found in story content and embed them in output files.

Typographic corrections

fiction-dl automatically applies basic typographic corrections to the content of downloaded stories.

Source Text Corrected Text
Lorem ipsum... dolor. Lorem ipsum… dolor.
Lorem ipsum...dolor. Lorem ipsum… dolor.
Lorem ipsum...... dolor. Lorem ipsum… dolor.
Lorem ipsum , dolor. Lorem ipsum, dolor.
Lorem ipsum????? Dolor. Lorem ipsum? Dolor.
Lorem ipsum - dolor. Lorem ipsum — dolor.

Packing stories

If you're downloading a lot of short stories, you can pack them into a single file, using the "-pack" command line option. This way you're adding only a single item to your Kindle book list, instead of many.

✿ Installation

You can install fiction-dl using pip:

python3 -m pip install --upgrade fiction-dl

(If the package's already installed, this command will also update it.)

If you're running a Debian-derived Linux distribution, you might also need to install the following packages:

apt-get install libgl1-mesa-glx libglib2.0-0 libmupdf-dev

(fiction-dl uses OpenCV for processing downloaded images, which requires them to be installed. PyMuPDF requires libmupdf-dev when it's being built from the source.)

✿ Usage

To download a story from a URL, simply type:

fiction-dl URL

In order to download multiple stories, create a text file and place the URLs in it, each one in a separate line. Then type:

fiction-dl YourFilesName

Options

Option Result
-h (--help) shows the overview of command-line options
-a authenticates the user to supported sites using interactive mode
-c clears the cache before launching the application
-pack packs all downloaded stories inside one file (of each type)
-v enables the (more) verbose mode
-f overwrites output files (in case they already exist)
-d enables debug mode (saves some data useful for debugging)
-no-images disables downloading images found in story content
-persistent-cache preserves the cache after the application quits
-lo used to specify the path to the LibreOffice executable (soffice.exe)
-o used to specify the output directory path

Text File Extractor

Create a text file meant to contain the story. In its first lines type:

LOCAL TEXT STORY
*URL*
*The Title of the Story*
*The Author*
*The One-Line Summary*

Follow it by the story's content, wrapped in HTML tags. Then call:

fiction-dl FilePath.txt

You can insert chapter-breaks in the story by typing "CHAPTER BREAK LINE" in an empty line.

✿ License

GNU GPL 3. The text of the license is provided in the LICENSE file.

✿ Technical

Changelogs

All the changelogs can be found in the Docs/Changelogs.md file.

Documentation

You can generate code documentation using Doxygen; the relevant configuration file is Docs/Docs.doxygen. Generated files will appear in the Docs/Code Documentation directory.

Tests

Launching the Integration Test can be done by entering the Tests directory and executing the following code:

python3 "Integration Test.py"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fiction-dl-1.6.0.tar.gz (75.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fiction_dl-1.6.0-py3-none-any.whl (128.9 kB view details)

Uploaded Python 3

File details

Details for the file fiction-dl-1.6.0.tar.gz.

File metadata

  • Download URL: fiction-dl-1.6.0.tar.gz
  • Upload date:
  • Size: 75.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.3

File hashes

Hashes for fiction-dl-1.6.0.tar.gz
Algorithm Hash digest
SHA256 93d52f7ef574afbe12f2780a07f60471334683f56b2052219240f79762f89286
MD5 a6e9a47d887c7b896248cb0894b26518
BLAKE2b-256 208f9e09362c2af0c0e5e15b028cb9317b1e9be6adfa3b8d6d81119fdc0f69b5

See more details on using hashes here.

File details

Details for the file fiction_dl-1.6.0-py3-none-any.whl.

File metadata

  • Download URL: fiction_dl-1.6.0-py3-none-any.whl
  • Upload date:
  • Size: 128.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.3

File hashes

Hashes for fiction_dl-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 68bd545e61258d69ec790374b4d43837f7a7858470377c99679eee5a68aea160
MD5 c9dd98a47e1aae8e3db04412d5ce7431
BLAKE2b-256 0043e6f126016efb898126f8dd78fc088917fb80028bbb8939265e8384cfb497

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page