Slido Bot

Python Selenium OCR EasyOCR Pytesseract Computer Vision

Über das Projekt

Ein Python-Bot zur automatisierten Teilnahme an Slido-Abstimmungen. Der Bot nutzt OCR (Optical Character Recognition), um bestimmte Namen in Abstimmungsoptionen zu erkennen und automatisch auszuwählen.

Technologien

  • Python 3.8+ - Programmiersprache
  • Selenium WebDriver - Browser-Automatisierung
  • EasyOCR - OCR mit hoher Genauigkeit
  • Pytesseract - Alternative OCR-Engine
  • OpenCV - Bildverarbeitung und -vorverarbeitung
  • Pillow - Bildmanipulation
  • ChromeDriver - Automatische Treiberverwaltung

Funktionen

  • OCR-basierte Texterkennung mit EasyOCR und Pytesseract
  • Automatische Browser-Steuerung via Selenium
  • Intelligente Suche mit mehreren Fallback-Methoden
  • Bildvorverarbeitung zur Verbesserung der OCR-Genauigkeit
  • Detailliertes Logging für Debugging
  • Koordinaten-basiertes Klicken auf erkannte Textbereiche

Ablauf

  1. Initialisierung des Chrome WebDrivers mit Anti-Detection
  2. Navigation zur Slido-Event-URL
  3. Screenshot der Abstimmungsseite
  4. Bildvorverarbeitung (Graustufen, Kontrast, Binarisierung)
  5. OCR-Texterkennung
  6. Suche nach dem Zielnamen
  7. Klick auf die entsprechende Option
  8. Absenden der Abstimmung

Architektur

Der Bot ist als Python-Klasse implementiert mit folgenden Hauptkomponenten:

  • SlidoBot - Hauptklasse mit Konfiguration
  • setup_driver() - WebDriver-Initialisierung
  • preprocess_image() - Bildoptimierung für OCR
  • extract_text_easyocr() / extract_text_pytesseract() - Texterkennung
  • find_and_click_option() - Intelligente Suche und Interaktion
  • run_automation() - Kompletter Workflow