https://github.com/fallaciousreasoning/goodereader-scraper
A scraper for https://goodereader.com, to help me work out what ereader to buy next.
https://github.com/fallaciousreasoning/goodereader-scraper
comparison comparison-tool ebook ebook-reader
Last synced: 4 months ago
JSON representation
A scraper for https://goodereader.com, to help me work out what ereader to buy next.
- Host: GitHub
- URL: https://github.com/fallaciousreasoning/goodereader-scraper
- Owner: fallaciousreasoning
- License: mit
- Created: 2020-07-13T08:20:37.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-05-05T08:36:25.000Z (about 1 year ago)
- Last Synced: 2025-07-15T09:20:56.681Z (11 months ago)
- Topics: comparison, comparison-tool, ebook, ebook-reader
- Language: HTML
- Homepage: https://good.readr.nz
- Size: 204 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Goodereader Scraper
This repository contains tools for sorting and filtering available ereaders. I wrote it to help me decide which ereader to buy afer my Kindle Voyage finally died.
## Usage
Install requirements:
pip install -r requirements.txt
Run the program:
python3 filter.py --query "ppi=300;waterproof=ipx;color temperature=Yes" --print price,weight,title --sort price,weight
This will filter to ereaders
1. with 300 ppi
2. Which have some ipx water proof rating
3. and which support color temperature
Note: The `=` does not actually mean equal. The value on the right is used to make a case insensitive regex which is tested against the ereader's property value.
The results will be printed in a table with price,title and weight.
The results will be sorted by
1. Price
2. then weight, where the price is the same.
It will generate the following output:
```
+---------+--------+---------------------------------------------------------+
| price | weight | title |
+---------+--------+---------------------------------------------------------+
| $249.99 | 192 g | Kobo Libra H2O |
| $259.99 | 300 g | Pocketbook Inkpad 3 PRO |
| $269.99 | 275 g | Barnes and Noble Nook Glowlight Plus 7.8 |
| $314.99 | 188 g | Amazon Kindle Oasis 3 with adjustable warm light (8GB) |
| $329.99 | 188 g | Amazon Kindle Oasis 3 with adjustable warm light (32GB) |
| $349.99 | 197 g | Rakuten Kobo Forma e-Reader 8GB |
| $389.99 | 197 g | Rakuten Kobo Forma e-Reader 32GB |
+---------+--------+---------------------------------------------------------+
```
Note: The first time the program is run, it may take some time, as it has to scrape the products from the good ereader store. The cache is maintained indefinitely, but you can force a rescrape by deleting `public/products.json`
To find the supported properties to query, have a look at the `public/products.json` file.
Force a rescrape:
python3 scrape.py
Browse the WebUI
npx serve public
Should start a server at http://localhost:3000