Fork of @danielnorberg's script to scrape the CVS web site for Covid-19 vaccine appointments.
- Book an appointment on cvs.com as usual.
- Receive the confirmation e-mail, it will contain a link for changing the appointment. Open this link in your browser (the same that you used to make the appointment).
- Save the values of the cookies starting with
DG_
. You can copy them using the Chrome developer tools for example. - Get a https://www.twilio.com/ trial account, get a twilio phone number & verify the phone number you want to send sms to
brew install maven
(if you don’t have maven + java)git clone [email protected]:marcusb/cvs-vax-finder.git
cd cvs-vax-finder
- Edit
AppointmentChecker.java
:- Set the URL to the rescheduling link from the confirmation e-mail.
- Set your location and desired last date of interest.
- Insert the cookie values you saved earlier.
TWILIO_SID=badf00d TWILIO_TOKEN=badf00d NOTIFICATION_NUMBERS=+12222222222,+13333333333 TWILIO_NUMBER=+14444444444 ./run.sh
- Verify that you get the hello world SMS on startup, otherwise something is wrong and you might not get any notifications for appointments.
- The
TWILIO_SID
,TWILIO_TOKEN
env vars should be set to your twilio SID and auth token. TWILIO_NUMBER
should be your assigned Twilio phone number.NOTIFICATION_NUMBERS
Can be one or more comma separated numbers to send SMS to. Note that the numbers must be verified in your Twilio account.
- The
run.sh
script tries to run the application forever and restart it on crash. - An SMS is sent if the application crashes so you can debug and get it up and running again.
- SMS are throttled to not notify more than once an hour for the same office. To clear the
throttle:
rm -rf sms-sent
. - Headless Firefox is used via selenium. You need to have Firefox installed.