"Buy" daily free Kindle books based on their Goodreads reviews and filtered by keywords and categories.
- Automatically "buys" a book only if:
- The book is free
- The book has great reviews
- The book does not contain stopwords in the description or reviews
- The book is not included in undesired categories
- Uses Goodreads reviews, not Amazon reviews for determination of quality
- Ignores books seen previously
- Tries to determine the book series and will purchase sequels in the series if they appear
- E.g. If book one of a trilogy is great and purchased, it will buy any sequels even if the reviews aren't as great.
- Emails a summary of books bought and books containing soft-stopwords
Email settings (if sending from Gmail, enable IMAP in Gmail Settings)
KC_EMAIL_FROM='emailtosendfrom@gmail.com'
KC_EMAIL_PASSWORD='fromemailpassword'
KC_EMAIL_TO='emailtosendto@gmail.com'
Amazon.com account login
KC_AMAZON_USER_EMAIL='user@email.com'
KC_AMAZON_PASSWORD='mypassword'
Amazon API environment variables - Obtain an Amazon Product Advertising key
KC_AWS_ACCESS_KEY_ID='ACCESSKEY'
KC_AWS_SECRET_ACCESS_KEY='SECRET_ACCESS_KEY'
KC_AWS_ASSOCIATE_TAG='ASSOCIATE_TAG'
Goodreads environment variables - Obtain a Goodreads API key
KC_GOODREADS_KEY='GOODREADS_ACCESS_KEY'
blacklistCategories.dat
- List of stopwords in categories
- If a book contains one of these words in its categories or parent categories it will be immediately skipped.
Examples |
---|
Meditation |
Health, Fitness |
Erotica |
blacklistWords.dat
- List of stopwords in the description, editorial review, or user reviews
- If a book contains one of these words in its description, editorial review, or user reviews, it is immediately skipped.
- The book will not be "bought" nor included in the email digest
Examples |
---|
mature content |
steamy |
sultry |
graylistCategories.dat
- List of soft-stopwords in categories
- If a book contains one of these words in its categories or parent categories, it will not be "bought"
- The book will not be "bought", but will be included in the email digest
Examples |
---|
Entrepreneurship |
Paranormal |
Self-Help |
graylistWords.dat
- List of soft-stopwords in the description, editorial review, or user reviews
- If a book contains one of these words in its description, editorial review, or user reviews, it will not be "bought"
- The book will be included in the email digest
Examples |
---|
bedroom |
sensual |
ignoreParentheticals.dat
- List of words in paranthesis to ignore in book titles when searching for series names
- E.g. In the title Animal Farm (Illustrated), ignore "illustrated" as a book series
Examples |
---|
illustrated |
children's |
with footnotes |
free |
categories.dat
- List of categories to search for free books
- Must be a list of numbers for their respective Amazon browsenodes
- This is a helpful site for putting this list together
- Parent categories can be included, but Amazon limits only 100 items to be returned from a specified category
Script-generated files that should not need to be edited:
seenBooks.dat
- List of ASINs the script has seen and will ignore them if seen againboughtSeries.dat
- List of series names that have been bought- If the script sees a book in this series again, it will purchase the book despite a low score or stopwords
python kindle_catcher.py