Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Architektur & Pipeline

Gesamtablauf

Die Pipeline wird entweder per API-Call oder Scheduler (01:00 Uhr) ausgeloest.

┌─────────────┐     ┌──────────────────┐     ┌───────────────┐
│  1. Neobet  │────>│  2. Flashscore   │────>│  3. Matcher   │
│  Ligen      │     │  Matches         │     │  (Dice-Sim.)  │
└─────────────┘     └──────────────────┘     └───────┬───────┘
                                                     │
                                             gematchte Spiele
                                                     │
                    ┌──────────────────┐     ┌───────▼───────┐
                    │  5. Odds         │<────│  4. H2H       │
                    │  (7 Seiten)      │     │  (3 Seiten)   │
                    └────────┬─────────┘     └───────────────┘
                             │
                    ┌────────▼─────────┐     ┌───────────────┐
                    │  6. Scoring      │────>│  7. Export     │
                    │  (12 Kriterien)  │     │  CSV + Excel   │
                    └──────────────────┘     └───────────────┘

Schritt-Detail

1. Neobet Ligen

  • URL: https://neobet.de/de/Sportwetten/Heute+Morgen/Fussball/Alle
  • Liefert: Liste aller Ligen mit Spielen (Land, Liga)
  • Deckt Heute + Morgen in einem Aufruf ab

2. Flashscore Matches

  • URL: https://www.flashscore.com/
  • Date Picker Navigation via Pfeil-Buttons (URL-Parameter ?d= wird ignoriert!)
  • Liefert: Match-Liste mit IDs, Teams, Zeiten, Ligen

3. League Matcher

  • Algorithmus: Soerensen-Dice Bigram-Aehnlichkeit
  • Gewichtung: 30% Land + 70% Liga
  • Schwellwert: 0.6 Confidence
  • Ergebnis: Flashscore-Matches die auch auf Neobet verfuegbar sind

4. H2H Scraping (pro Match)

  • 3 Seiten: Home, Away, Overall
  • Extrahiert: letzte 15 Ergebnisse pro Seite
  • Berechnet: Intervalle (o1.5-o4.5, u0.5-u1.5, BTS, 1TS), Durchschnitte, Streaks

5. Odds Scraping (pro Match)

  • 7 Seiten: O/U FT, O/U 1H, O/U 2H, BTTS, 1X2, DC, DNB
  • Quoten aller Buchmacher gemittelt
  • Graceful Handling: Fehler = None, Match wird trotzdem gespeichert

6. Scoring

  • 12 Kriterien, Rang-basiertes Punktesystem
  • Top 4 Matches pro Kriterium bekommen +1 Punkt
  • Ergebnis: max 4 Over-Picks (max 7 Punkte) + max 4 Under-Picks (max 5 Punkte)

7. Export

  • CSV: 56 Spalten, flach
  • Excel: 3 Worksheets (Daten, Quoten, Wunschliste)
  • Pfad: /home/hlorenz/lite/exports/

Technische Besonderheiten

ProblemLoesung
eval_js() gibt null zurueckdriver.source() + scraper crate fuer HTML-Parsing
Flashscore ignoriert ?d= URL-ParamDate Picker Pfeil-Buttons klicken
Neobet Heute vs MorgenKombinierte URL Heute+Morgen
Rate Limiting500ms Delay zwischen H2H-Requests, 2.5s Warte nach Odds-Navigation

Key Files

DateiVerantwortung
src/main.rsServer, Logging, Scheduler
src/services/scraper_service.rsPipeline-Orchestrierung
src/services/matcher.rsLiga-Matching (Dice)
src/services/scoring.rsScoring-Algorithmus
src/scrapers/flashscore.rsFlashscore Scraper (~1000 Zeilen)
src/scrapers/neobet.rsNeobet Scraper
src/scrapers/browser.rsWebDriver Management