Skip to content

Selenium based web crawler that checks the availability of COVID19 vaccination appointments for Saarland, Germany

Notifications You must be signed in to change notification settings

a-nau/COVID-vaccination-availability-check-DE-SL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automatic Vaccination Availability Check for Saarland, Germany

Vaccinations appointments in Saarland, Germany can be scheduled online. However, since there is no information on when new appointments will be open to the public, I built this small tool to check the current availability. In addition to that, also direct booking of an appointment is possible.

This script sends an automatic message with the current status to a group in Element I created and triggers a computer sound when an appointment is available.

Note that the website is under active development (e.g. there was no back button during the time of development). Dialogues might change over time and thus, compatibility cannot be guaranteed.

UPDATE: The system for booking vaccination appointments has changed, thus booking appointments with this tool is no longer possible as of 11.01.2020.

Installation

Install necessary packages for Python3 with

pip install -r requirements.txt

Also, download the chrome driver (must match your installed Chrome version) and adjust DRIVER_PATH.

Usage

General

Adjust the configuration in config.py:

  • DRIVER_PATH: adjust your chrome driver path.
  • DESIRED_VACCINATION_CENTERS: Select the vaccination centers you want to book at (0: SLS, 1: SB, 2: NK).
  • SEND_MSG_RIOT : boolean whether or not messages should be send. Note that a token is needed and MATRIX_ROOM_ID must be changed.
  • MATRIX_ROOM_ID : set matrix room id, if you want to send messages via Riot/Element.
  • SLEEP_TIME_BETWEEN_QUERIES_*: configure the frequency with which the availability is checked.
  • SLEEP_TIME_BETWEEN_CLICKS_*: configure the frequency with which buttons are clicked.

Add personal data for booking in personal_data.json. Gender can be female, male, diverse or unkown. If no booking should be performed, simply do not pass the path to the main method of check_availability.py.

Run the function

python check_availability.py

Using Elements to send messages

I used the matrix-python-sdk, but also the API can be used (check this gist). To find the room ID go the room Settings and select Advanced.

Disclaimer

This was a small and quick project, so don't expect the code to be too clean ;)

I hope it helps someone and feedback is always welcome!

About

Selenium based web crawler that checks the availability of COVID19 vaccination appointments for Saarland, Germany

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages