Cursor
|
27f78c9a40
|
fix: Google Flights — Keyboard-Nav für Autocomplete, JS-Fallback für Such-Button
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-25 21:17:23 +07:00 |
|
Cursor
|
c8dcce6c17
|
fix: Google Flights scraper — find_elements ohne timeout, robustere Formular-Logik
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-25 21:12:31 +07:00 |
|
Cursor
|
a03a58d01e
|
feat: Screenshot-Spalte im Dashboard — Full-Page CDP Screenshots
- worker.py: _take_screenshot() via Chrome CDP (JPEG 55%, max 3000px)
- worker.py: alle Scraper geben (results, screenshot_b64) Tuple zurück
- agent.py: screenshot_b64 in API-Response enthalten
- scheduler.py: speichere_screenshot() Funktion + Verknüpfung mit prices
- db.py: screenshots-Tabelle + screenshot_id FK in prices
- web.py: /api/screenshot/<id> Endpoint (base64→JPEG Response)
- web.py: 📷 Button in Preistabelle → Lightbox mit Full-Page Screenshot
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-25 20:51:10 +07:00 |
|
Cursor
|
2ce7d02bc5
|
feat: HKG Stopover Variante — Multi-City FRA→HKG→KTI
- db.py: jobs Tabelle um via/stopover_min_h/stopover_max_h erweitert
- db.py: 2 neue kayak_multicity Jobs (CX + alle Airlines) via HKG
- db.py: KI-Prompt um HKG_STOPOVER Vergleichsfeld ergänzt
- worker.py: scrape_kayak_multicity() Funktion implementiert
- worker.py: Kayak Multi-City URL FRA→HKG/D1→HKG→KTI/D2→KTI→FRA/D3
- agent.py: via/stopover_min_h/stopover_max_h Parameter entgegengenommen
- scheduler.py: neue Parameter an Node-Agent weitergegeben
- web.py: Multi-City Einträge im Dashboard lila hervorgehoben (+~150€ Hotel-Hinweis)
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-25 16:59:53 +07:00 |
|
Cursor
|
f85c049aca
|
feat: max_flugzeit_h (22h), max_stops (2), echtes PE, Kayak Flugzeit/Stops-Filter, db_migrate.py
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-25 15:50:46 +07:00 |
|
Cursor
|
36d671c301
|
feat: Airlines CZ/CX/SQ/TG, Kayak Umstiegszeit-Filter 2-5h, airline_filter Job-Parameter
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-25 15:46:51 +07:00 |
|
Cursor
|
c9e8684a88
|
fix: Google Flights Formular-Suche statt Hash-URL, alle scraper gepaeck-param fix
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-25 15:40:44 +07:00 |
|
Cursor
|
b70dbbcd13
|
fix: scrape_trip gepaeck param, Google Flights Homepage-Detection, Kayak Bags-Filter Fallback
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-25 15:35:16 +07:00 |
|
Cursor
|
838e8f4af8
|
feat: 1000 EUR Plausibilitaets-Schwelle, Vergleichstabelle MU vs Asia, Gepaeck-Filter Kayak
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-25 15:28:33 +07:00 |
|
Cursor
|
0a9e65b71a
|
feat: Roundtrip FRA→KTI (Phnom Penh Techo Airport), Premium Economy, HAN als Umstieg
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-25 14:37:47 +07:00 |
|
Cursor
|
d4a94465b7
|
feat: trip.com Scanner hinzufügen (Premium Economy, gut für Asia-IPs)
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-25 14:28:22 +07:00 |
|
Cursor
|
5b5cf38bd6
|
debug: detailliertes Logging in worker.py + Kayak verbessert
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-25 14:26:41 +07:00 |
|
Cursor
|
9ad786e171
|
fix: nach Consent-Accept nochmal zur Such-URL navigieren
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-25 14:18:14 +07:00 |
|
Cursor
|
7cd39d0387
|
fix: Route FRA→HAN (Hanoi), Kabine Premium Economy
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-25 14:14:00 +07:00 |
|
Cursor
|
bf1d0eb071
|
fix: Google Consent-Seite für DE-IPs (DSGVO) wegklicken
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-25 14:12:34 +07:00 |
|
Cursor
|
7adc9529b7
|
fix: robusteres Scraping mit mehreren Selektoren + Regex-Fallback
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-25 14:08:05 +07:00 |
|
Cursor
|
3ca727cec3
|
Initial: Hub + Node Grundstruktur
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-25 13:45:23 +07:00 |
|