80e1b6082589a5b4e8a918ef33b780dd0347f186
feat: Verbesserte Fehlerbehandlung Website-Scraping & URL-Neusuche (v1.7.2)
Diese Version behebt kritische Fehler im Zusammenhang mit dem OpenAI-Modul und verbessert die Robustheit des Website-Scrapings erheblich.
**Fehlerbehebungen:**
- **OpenAI `NameError`:** Behoben durch expliziten globalen Import von `openai` und Anpassung der Exception-Behandlung im `retry_on_failure`-Decorator. OpenAI-Calls (Zusammenfassung, Branchenbewertung) funktionieren nun korrekt.
- **Wikipedia `TypeError`:** Behoben durch Deaktivieren der internen Ratenbegrenzung der `wikipedia`-Bibliothek, da diese bei der Initialisierung der Ratenbegrenzungsvariablen einen Fehler verursachte.
- **Doppelte Definitionen:** Redundante Codeblöcke entfernt.
- **Klassen-Logger:** Korrekte Initialisierung und Verwendung von `self.logger` in den Klassen `GoogleSheetHandler`, `WikipediaScraper` und `DataProcessor` implementiert, um `NameError` für `logger` zu beheben.
- **Funktionsaufrufe:** Korrektur kleinerer Fehler in Funktionsaufrufen (`summarize_batch_openai`, `_scrape_raw_text_task`, `get_numeric_filter_value`).
- **Tippfehler:** `selflogger` zu `self.logger` korrigiert.
**Neue Features & Verbesserungen:**
- **Verbesserte Fehlerbehandlung `get_website_raw`:**
- Standardmäßige Deaktivierung der SSL-Zertifikatsprüfung (`verify=False`) für pragmatischeres Scraping.
- Implementierung von spezifischeren Fehlermeldungen (z.B. "k.A. (Timeout)", "k.A. (SSL Fehler)", "k.A. (HTTP Error 403)") für eine bessere Fehleranalyse direkt im Sheet.
- Einführung eines Markers `URL_CHECK_NEEDED` für URLs, die beim Scraping auf fundamentale Probleme (ConnectionError, 404) hinweisen.
- **User-Agent Rotation:** Eingeführt in `get_website_raw`, um die Wahrscheinlichkeit von 403-Fehlern durch Bot-Erkennung zu reduzieren.
- **Neuer Modus `check_urls`:**
- Implementiert in `DataProcessor.process_url_check`.
- Sucht nach Zeilen mit dem `URL_CHECK_MARKER` oder generischen "k.A. (Fehler...)"-Einträgen in der Rohtext-Spalte (AR), bei denen der AY-Timestamp (SerpAPI Wiki Search Timestamp) noch nicht gesetzt ist.
- Führt für diese Zeilen `serp_website_lookup` aus, um eine neue URL zu finden.
- Bei Fund einer *neuen und anderen* URL: Aktualisiert Spalte D, leert AR, setzt ReEval-Flag (A) und löscht abhängige Timestamps (AT, AO, AN, AX, AP) zur erneuten Verarbeitung.
- Bei identischer oder keiner neuen URL: Aktualisiert AR mit entsprechender Info.
- Setzt immer den AY-Timestamp, um den Prüfversuch zu dokumentieren.
- **Funktion `is_valid_wikipedia_article_url`:** Globale Hilfsfunktion implementiert, um die Gültigkeit von Wikipedia-URLs zu prüfen (existierender Artikel, keine Begriffsklärung). Wird von `process_wiki_updates_from_chatgpt` verwendet.
**Bekannte offene Punkte:**
- ML-Modell und Imputer-Dateien müssen noch erstellt werden (`technician_decision_tree_model.pkl`, `median_imputer.pkl`). Aktuelle Fehler diesbezüglich sind erwartet.
- Implementierung der Platzhalter-Funktionen für FSM, Mitarbeiter- und Umsatzschätzung via OpenAI steht noch aus.
Description
No description provided
Languages
Python
63.6%
TypeScript
19.2%
JavaScript
15.6%
HTML
0.7%
Dockerfile
0.4%
Other
0.5%