This is a project I'm currently working on for my english teacher. This project also owes its name to him. It's delivered with an interface which main focus was to provide ease-of-use and being expandable. To create your own Webscraping Book downloaders have a look here.
- Make sure you have python3.11 or newer installed. If you don't have it installed you can download it from here and if you need help setting everything up I can highly recommend you this tutorial.
- When you're done setup up python and everything is working you should clone this repository from GitHub using
git clone https://github.com/DiscoveryFox/KlettDownload.git
- Now cd into that directory and create a new virtual environment.(You theoretically can skip the virtual environment, but I would highly encourage you to do not since it will make managing your python in the future a lot easier, and it's just good practice)
cd KlettDownload
python -m venv .venv
- Now you can install all requirements for the project:
python -m pip install -r requirements.txt
- And then to start the script you can simply run:
python ui.py
If you want to activate your virtual environment in the future its depending on your operating system. On Windows you type
# Windows
cd .venv/Scripts
.\activate.ps1
# Linux
source .venv/bin/activate
The BookProvider class provides a common interface for accessing and downloading ebooks from various online stores. It provides a set of methods for interacting with an ebook store's API, such as getting authentication credentials, fetching book content, and downloading books.
To create your own BookProvider class, you need to create a new Python file and define a class that inherits from the BookProvider class. In this new class, you can override any of the methods defined in the BookProvider class to customize its behavior for the specific ebook store.
Here are the steps to create your own BookProvider class:
Step 1: Import the necessary packages
To create a new BookProvider class, start by importing the packages that are needed for your implementation. For example, if you need to use the Selenium package to interact with a web-based ebook store, you would import it at the beginning of your file: