Rateable is a multiplatform desktop application that allows users to scrape and collect rating data from Audible for any audiobook files (Provided that the folder names used as keywords are chosen wisely). The collected data can be stored in an Excel file and as ID3-tag.
In this way, Rateable provides a convenient way to organize and analyze audiobook ratings and other information to help you decide which book to listen to next.
- Ratings: Scrapes rating data for each audiobook based on the folder name from Audible (The remaining time is calculated and displayed).
- Metadata: Fetches audiobook metadata for enhanced information (Choose from ID3 or Audible information).
- ID3-tag Updates (ToDo): Writes rating stars (and other metadata if not already available) to the audiobook file ID3-tag.
- Rating Updates: Refresh ratings for previous audiobooks to keep them up to date.
- Permanent Storage: Stores collected rating data permanently in a database and also saves it to an Excel sheet.
- Batch Selection: Batch processing for folders containing multiple audiobooks (Recursive search).
- Clone the repository to your local machine.
- Install the required dependencies with
pip install -r requirements.txt
. - Follow the instructions to download the Chromium browser and its driver for your os and place them in the assets folder (possibly you have to edit associated paths in the constructor).
- Optional: Customize the TLD used for scraping the Audible website.
- Run the app using
python main.py
(optionally package to make it executable).
- Launch the Rateable application.
- Click "Open Explorer" to select the folder containing the audiobook files.
- Decide which source to use for metadata retrieval
- Confirm the selection, and the application will start scraping the rating data for each audiobook.
- If using the application for the first time, specify the save path for the Excel file.
- Open the Excel file by clicking "Open result".
- To update ratings for previous audiobooks, click "Update".
Contributions are welcome! Please create a new issue or submit a pull request for any issues or suggestions for improvements.