https://github.com/jigarius/spca-scanner
A Ruby app that scans the SPCA Montreal's website for new pets available for adoption and sends email notifications.
https://github.com/jigarius/spca-scanner
cli example ruby scraper thor watcher
Last synced: 10 months ago
JSON representation
A Ruby app that scans the SPCA Montreal's website for new pets available for adoption and sends email notifications.
- Host: GitHub
- URL: https://github.com/jigarius/spca-scanner
- Owner: jigarius
- Created: 2021-02-10T18:12:12.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-05-06T12:52:40.000Z (over 4 years ago)
- Last Synced: 2025-02-05T20:54:12.779Z (12 months ago)
- Topics: cli, example, ruby, scraper, thor, watcher
- Language: Ruby
- Homepage:
- Size: 104 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SPCA Scanner
An application that sends email notifications when the SPCA website
has new pets available for adoption.
> I was thinking about adopting a cat, but cats at SPCA disappear like
> hot cake. This watcher sends you email notifications for new cats at
> intervals of 5-10 minutes so that you can have a matching furry-friend
> soon (and then uninstall the app).
>
> ~ _[Jigarius](https://jigarius.com/)_
I'm sure SPCA publishes this info on Twitter and there must be other tools
that do similar things. However, I wanted to write some object-oriented
Ruby code, so I wrote this tool.
Read the full article on Jigarius.com: [Building a Web Scraper/Watcher with Ruby: Cats + Ruby + CLI + Emails](https://jigarius.com/blog/spca-scanner).
## Usage
* Create `.env` based on `.env.example`.
* SMTP config must be correct for emails to work.
* You can get a free basic SMTP account from SMTP service providers like
[SendGrid](https://sendgrid.com/).
* `lando start` (Lando must be installed).
* `lando spcas`; Execute a scan.
* Suggested usage: `lando spcas -v --category=cats --email --interval 10`
* More options: `lando spcas help scan`.