Commit Graph

277 Commits

Author SHA1 Message Date
b2d60dabac bugfix 2025-04-17 09:12:23 +00:00
b955ee1862 bugfix 2025-04-17 09:02:42 +00:00
e8b5944e8f v1.6.3: Beschleunige Website-Scraping durch gebündelte Sheet-Updates
- Überarbeite `process_website_batch` zur Leistungssteigerung.
- Implementiere das Sammeln von Zell-Updates (`AR`, `AS`, `AT`, `AP`) für mehrere Zeilen in einer Liste (`all_sheet_updates`).
- Sende die gesammelten Updates gebündelt über einen einzigen `batch_update_cells`-Aufruf an Google Sheets, wenn ein Limit (`update_batch_row_limit`) erreicht ist oder die Schleife endet.
- Ziel: Reduzierung der Anzahl von Google Sheets API-Aufrufen und Beschleunigung des Website-Scraping-Prozesses.
- Stelle sicher, dass auch ein letzter, unvollständiger Batch nach der Hauptschleife gesendet wird.
2025-04-17 08:45:18 +00:00
4d982637e9 bugfix 2025-04-16 16:08:49 +00:00
2d107cc7ee bugfix 2025-04-16 15:38:57 +00:00
654253e535 bugfix 2025-04-16 15:31:29 +00:00
8c4074fe7e bugfix 2025-04-16 15:20:33 +00:00
567eceded3 bugfix 2025-04-16 14:42:01 +00:00
1e2205e2ce bugfix 2025-04-16 14:24:12 +00:00
1c3e2786ac bugfix 2025-04-16 14:11:26 +00:00
924a0fe2ca bugfix 2025-04-16 14:02:01 +00:00
3339376f3a bugfix 2025-04-16 13:50:32 +00:00
3478a68e2f bugfix 2025-04-16 13:33:00 +00:00
110e83bee5 bugfix 2025-04-16 13:23:32 +00:00
dfcfedf9fe bugfix 2025-04-16 12:59:17 +00:00
ab84a41aef bugfix 2025-04-16 12:43:30 +00:00
3e1c4e63b8 bugfix 2025-04-16 12:34:16 +00:00
9eb9a19246 bugfix 2025-04-16 12:13:09 +00:00
403898843f v1.6.2: Verfeinere Timestamp-Logik & integriere ML-Datenvorbereitung
- Passe Dispatcher (`run_dispatcher`) und `GoogleSheetHandler.get_start_row_index` an, um den Startpunkt basierend auf dem Website Scrape Timestamp (Spalte AT) zu bestimmen.
- Implementiere individuelle Timestamp-Prüfungen in den Batch-Funktionen (`process_verification_only` (AN), `process_website_batch` (AT), `process_branch_batch` (AO)), um das erneute Verarbeiten abgeschlossener Zeilen zu verhindern.
- Überarbeite `_process_single_row` (`full_run`, `reeval`), um für jeden Teilbereich (Wiki, Website, Chat) den zugehörigen Timestamp zu prüfen und nur bei Bedarf auszuführen.
- Passe `_process_batch` an, sodass es nur noch Ergebnisspalten (S-Y) schreibt; Timestamps werden jetzt von der aufrufenden Funktion gesetzt.
- Füge neue Spalten (AT: Website TS, AU: Gesch. Techniker Bucket, AV: Finaler Umsatz, AW: Finaler MA) zur `alignment_demo` und `COLUMN_MAP` hinzu.
- Integriere die Funktion `prepare_data_for_modeling` als Methode in die `DataProcessor`-Klasse (wird noch nicht aktiv in einem Modus aufgerufen).
2025-04-16 11:56:39 +00:00
5a06d777c9 v1.6.2: Bereite Techniker-Modell vor & korrigiere/ergänze Modi (Alignment, Args)
- Füge neuen Modus `--mode alignment` hinzu, um die Header-Definitionen (Zeilen 1-5) über die Funktion `alignment_demo` ins Hauptblatt zu schreiben (inkl. Sicherheitsabfrage).
- Korrigiere das Kommandozeilenargument für das Zeilenlimit von `--row_limit` zu `--limit` im `argparse`-Setup in `main`.
- Verbessere die `main`-Funktion, um interaktive `input()`-Abfragen für Modus und Limit nur dann zu stellen, wenn die entsprechenden Argumente nicht über die Kommandozeile bereitgestellt wurden (verhindert Fehler bei `nohup`). Füge Fehlerbehandlung für `input()` hinzu.
- Integriere die neue Funktion `prepare_data_for_modeling` zur Aufbereitung der Daten für das geplante Decision-Tree-Modell zur Technikerschätzung (Funktion wird in den bestehenden Modi noch nicht aufgerufen).
2025-04-16 09:27:53 +00:00
fa884c2a10 Alignment Demo Update 2025-04-16 08:55:49 +00:00
daab0caa5c v1.6.1: Verbessere Website-Scraping zur Umgehung von Cookie-Bannern
- Überarbeite `get_website_raw` zur besseren Handhabung von Cookie-Bannern.
- Priorisiere Scraping von Hauptinhalt-Tags (`<main>`, `<article>`, spezifische IDs/Klassen).
- Implementiere Fallback auf `<body>` mit Versuch, häufige Banner-Elemente zu entfernen (`.decompose()`).
- Füge Heuristik hinzu, um extrahierten Text zu verwerfen, wenn er wahrscheinlich nur Banner-Inhalt ist.
- Erhöhe Request-Timeout in `get_website_raw` leicht auf 15 Sekunden.
2025-04-15 20:14:47 +00:00
c5b3089c1c bugfix 2025-04-15 14:54:01 +00:00
28d43cd4d4 bugfix 2025-04-15 14:49:35 +00:00
7d5d347cb4 bugfix 2025-04-15 14:06:56 +00:00
8d59f27e82 bugfix 2025-04-15 13:55:16 +00:00
317b2fdea4 bugfix 2025-04-15 13:33:53 +00:00
ed2489f21e bugfix 2025-04-15 12:59:01 +00:00
6978e8df95 v1.6.0: Refactoring - Code-Optimierung und Beseitigung von Redundanzen
Git-Änderungsbeschreibung:
- Doppelte Funktionen (process_verification_only, _process_batch, count_linkedin_contacts) entfernt.
- Doppelte DataProcessor-Klasse entfernt.
- Ungenutzten Code (Timestamp-Handling, compare_umsatz_values, process_contacts) entfernt.
- Google Sheet Updates optimiert durch konsequentere Nutzung von batch_update in Schleifen (_process_batch, process_website_batch, process_branch_batch, process_contact_research).
- API-Key-Handling zentralisiert: Keys werden einmal in Config geladen und von dort bezogen.
- Google Sheet Verbindung zentralisiert: Wird nur noch im GoogleSheetHandler aufgebaut.
- Vorbereitung für robustere Spaltenzugriffe durch Einführung einer COLUMN_MAP (noch nicht durchgängig genutzt).
- Modus-Steuerung in main() konsolidiert.
- alignment_demo korrigiert (nur noch für Hauptblatt). Header für Contacts-Blatt in process_contact_research gesetzt.
- Konstanten für Dateinamen eingeführt.
2025-04-15 12:57:27 +00:00
353453296a bugfix 2025-04-15 12:16:29 +00:00
979671c4b2 bugfix 2025-04-15 12:03:46 +00:00
aadb210da3 bugfix 2025-04-15 11:48:24 +00:00
99313df451 bugfix 2025-04-15 11:33:22 +00:00
b320ef4128 bugfix 2025-04-15 11:29:54 +00:00
46218ac316 bugfix 2025-04-15 11:29:21 +00:00
7c6bb5abbf bugfix 2025-04-15 11:27:53 +00:00
cca9380384 bugfix 2025-04-15 10:33:33 +00:00
2376da4734 v1.5.8: Externe Branchenzuordnung mittels Mapping verfeinert
- Mapping-Funktion load_branch_mapping() integriert, um aus der CSV "ziel_Branchenschema.csv" automatisch ein Mapping-Dictionary zu erstellen.
- Neue Funktion map_external_branch() implementiert, die den von ChatGPT gelieferten externen Branchenbegriff (nach Normalisierung) in das standardisierte Ziel-Branchenschema überführt.
- In evaluate_branche_chatgpt wird zuerst der ChatGPT-Vorschlag geparst, unerwünschte Präfixe entfernt und über map_external_branch() in den korrekten Standardwert transformiert.
- Optional wird der CRM-Präfix ergänzt, falls der Mapping-Wert kein hierarchisches Trennzeichen enthält.
- Damit wird der externe Input selbstbewusster übernommen, solange er durch das Mapping bestätigt wird.
2025-04-15 08:01:04 +00:00
a8c18e8629 bugfix 2025-04-14 17:21:50 +00:00
8e9230b8f6 bugfix 2025-04-14 17:08:50 +00:00
094a10fd80 bugfix 2025-04-14 15:41:43 +00:00
615ef7f296 v1.5.7: Fuzzy Matching und Hierarchie-Ergänzung in evaluate_branche_chatgpt
- evaluate_branche_chatgpt: Neuer Schritt zum Ergänzen fehlender Hierarchie mit CRM-Präfix  
- Fuzzy Matching zwischen zusammengesetztem Vorschlag und CRM-Wert eingebaut  
- Sicherstellung, dass der finale Brancheneintrag stets dem Ziel-Branchenschema entspricht
2025-04-14 15:41:26 +00:00
2d24533a1b v1.5.6: Fallback-Mechanismus in evaluate_branche_chatgpt verbessert
- evaluate_branche_chatgpt: Fallback auf CRM-Wert implementiert, wenn ChatGPT-Vorschlag nicht valide ist  
- Helper-Funktionen is_valid_branch und branch_matches_target_schema zur Überprüfung der Branchenwerte hinzugefügt  
- Fokusbranchen (service provider, hersteller / produzenten, sonstige) bleiben erhalten
2025-04-14 14:53:20 +00:00
2c340537ef bugfix 2025-04-14 14:09:14 +00:00
253ed2ca3e bugfix 2025-04-14 13:34:36 +00:00
23b331bd4b 1.5.5: Neue evaluate_branche_chatgpt mit erweitertem Logging und exakter Branchenabgleich
- Alle verwendeten Input-Werte (CRM-Branche, externe Beschreibung, Wiki-Daten, Website-Zusammenfassung) werden geloggt.
- Bei fehlendem Wikipedia-Eintrag wird explizit die Website-Zusammenfassung als Fallback genutzt.
- Normierte Eingabewerte und Ziel-Branchenschema werden für den exakten Vergleich ausgegeben.
- Es werden ausschließlich Branchen aus dem Ziel-Schema akzeptiert – ansonsten Rückgabe "k.A." mit Konsistenz "X".
2025-04-14 13:02:36 +00:00
cd613d15e5 rollback2 2025-04-14 08:22:38 +00:00
9053232bcc Rollback auf 1.5.4 2025-04-14 06:23:24 +00:00
672d5fc06b bugfix 2025-04-14 06:13:31 +00:00
47a7f1d442 bugfix 2025-04-14 05:18:46 +00:00