A Python-based bot to automate the process of checking appointment availability and booking slots on the German consulate appointment system.
- Scrapes appointment availability for specific dates and months.
- Automatically solves CAPTCHAs using OCR or third-party services.
- Submits form data dynamically based on user inputs or configuration.
- Handles multiple steps in the appointment booking workflow:
- View monthly availability.
- Narrow down to available slots on a specific day.
- Book the desired appointment.
- Python 3.8+
- Chrome WebDriver (compatible with your version of Google Chrome)
- Required Python libraries (install via
requirements.txt
)
- Clone the repository:
git clone https://github.com/Nathius262/appointment-booking-bot.git cd appointment-booking-bot
- Install dependencies:
pip install -r requirements.txt
- Download and install Chrome WebDriver:
Ensure it matches your installed version of Google Chrome. Download here.
Update the config.json file (if included) with your preferences, e.g., locationCode, realmId, categoryId, and dates. Alternatively, provide inputs directly in the script.
- Run the bot:
python booking_bot.py
- The bot will:
- Check the availability of appointments for a specific month.
- Loop through available dates and fetch time slots.
- Solve CAPTCHA dynamically.
- Optionally book an available appointment.
- Results will be logged in the console or saved to an output file.
booking_bot.py:
Main script that implements the bot functionality.
captcha_solver.py:
Handles CAPTCHA solving using OCR or APIs.
config.json:
Configuration file for user input and bot settings.
requirements.txt:
Python dependencies for the project.
- Start by viewing the monthly calendar: Fetch and print all available dates.
- Navigate to specific days: Scrape and display available time slots.
- Fill out the form and book the appointment: Submit user details and solve CAPTCHA.
This bot uses a placeholder method for solving CAPTCHA. Replace the logic in captcha_solver.py with one of the following:
Third-party CAPTCHA-solving services (e.g., 2Captcha).
This project is for educational purposes only. Ensure compliance with the website's terms of service before using this bot.
This project is licensed under the MIT License.
Contributions are welcome! Feel free to fork the repository and submit a pull request.
For questions or support, create an issue on the repository or contact me at [email protected].