Commit Graph

355 Commits

Author SHA1 Message Date
552fb3e372 bugfix 2025-04-23 12:27:01 +00:00
9ae750d6bd bugfix 2025-04-23 05:36:57 +00:00
3d337a39df v1.6.7: Behebt strukturelle/Syntax-Fehler; passt Filter für Wiki-Suche via SerpAPI an
- Inkrementiere Versionsnummer auf v1.6.7.
- Behebe kritischen AttributeError: Korrigiere die Einrückung für mehrere Verarbeitungsmethoden (_process_single_row, process_reevaluation_rows, process_serp_website_lookup_for_empty, process_website_details_for_marked_rows, prepare_data_for_modeling, process_rows_sequentially, process_find_wiki_with_serp), sodass diese korrekt als Methoden innerhalb der Klasse DataProcessor definiert sind.
- Behebe SyntaxError: Löse das Problem mit komplexen f-Strings in _process_single_row und potenziell anderen Stellen, indem die String-Konstruktion von Ausdrücken innerhalb der f-String-Syntax getrennt wird.
- Passe Filterlogik für Modus 'find_wiki_serp' an: Die SerpAPI-Suche nach fehlenden Wiki-URLs (M=k.A./leer) wird nun ausgelöst, wenn (CRM Umsatz (J) > 200 Mio ODER CRM Anzahl Mitarbeiter (K) > 500). Implementiere robuste numerische Extraktion für J und K innerhalb der Filterlogik.
- Stelle sicher, dass SerpAPI Wiki Search Timestamp (AY) immer nach einem Suchversuch im Modus 'find_wiki_serp' gesetzt wird, unabhängig vom Ergebnis.
- Diverse Logging-Anpassungen für Klarheit und Debugging (z.B. im Wiki-Verarbeitungsschritt).
2025-04-23 05:18:30 +00:00
903362afef bugfix 2025-04-22 14:17:22 +00:00
0f12d30f2d bugfix 2025-04-22 14:10:50 +00:00
7dfee24a77 bugfix 2025-04-22 14:03:42 +00:00
212f5232d5 bugfix 2025-04-22 13:58:36 +00:00
632b94a926 bugfix 2025-04-22 12:42:49 +00:00
2fac656e8d bugfix 2025-04-22 12:29:03 +00:00
f6c2cc5e14 bugfix 2025-04-22 12:21:33 +00:00
fd58b80a01 bugfix 2025-04-22 11:18:10 +00:00
23ce90a0c6 bugfix 2025-04-22 09:54:08 +00:00
8bb2ac9130 bugfix 2025-04-22 08:23:32 +00:00
5c020a94c1 bugfix 2025-04-22 06:43:59 +00:00
80ae56bf9f bugfix 2025-04-22 06:31:38 +00:00
5ddd8ee065 bugfix 2025-04-22 06:17:23 +00:00
c8cc8cc435 bugfix 2025-04-22 06:13:52 +00:00
dcc2413f9b bugfix 2025-04-22 06:12:55 +00:00
be6db61200 bugfix 2025-04-22 05:38:11 +00:00
621e658c93 v1.6.6: Füge SerpAPI-Suche für fehlende Wiki-URLs großer Firmen hinzu
- Füge neuen Betriebsmodus `--mode find_wiki_serp` hinzu.
- Implementiere neue Funktion `serp_wikipedia_lookup`, die SerpAPI nutzt, um gezielt nach Wikipedia-Artikeln für einen Firmennamen zu suchen.
- Implementiere neue Funktion `process_find_wiki_with_serp`:
    - Lädt aktuelle Sheet-Daten.
    - Filtert Zeilen, bei denen Spalte M (Wiki URL) leer/'k.A.' ist UND Spalte K (CRM Mitarbeiter) einen Schwellenwert (Standard: 500) überschreitet.
    - Ruft `serp_wikipedia_lookup` für gefilterte Zeilen auf.
    - Bei erfolgreicher URL-Findung:
        - Schreibt die gefundene URL in Spalte M.
        - Setzt Flag 'x' in Spalte A (ReEval Flag).
        - Löscht Timestamps in Spalten AN (Wikipedia Timestamp) und AO (Timestamp letzte Prüfung).
    - Führt gebündelte Sheet-Updates am Ende durch.
- Integriere den neuen Modus `find_wiki_serp` in die Argumentenverarbeitung und Ausführungslogik der `main`-Funktion.
- Füge notwendige Imports hinzu und stelle sicher, dass die neuen Funktionen Logging verwenden.
- Aktualisiere Versionsnummer in `Config.VERSION` auf v1.6.6.
2025-04-22 05:19:53 +00:00
732660b104 bugfix 2025-04-21 12:39:07 +00:00
8772a0e1f6 bugfix 2025-04-20 17:15:26 +00:00
5d0768aa7c bugfix 2025-04-19 17:49:33 +00:00
fada980dc6 bugfix 2025-04-19 17:44:51 +00:00
025fa51363 bugfix 2025-04-19 17:36:41 +00:00
0b51a11aef bugfix 2025-04-19 17:23:36 +00:00
6c1fd91a69 v1.6.5: Refactor logging & integrate improved WikipediaScraper
- Replace custom `debug_print` function with standard Python `logging` module calls throughout the codebase.
    - Use appropriate logging levels (DEBUG, INFO, WARNING, ERROR, CRITICAL, EXCEPTION).
    - Refactor logging setup in `main` for clarity and proper handler initialization.
- Integrate updated `WikipediaScraper` class (previously developed as v1.6.5 logic):
    - Implement more robust infobox parsing (`_extract_infobox_value`) using flexible selectors, keyword checking (`in`), and improved value cleaning (incl. `sup` removal).
    - Remove old infobox fallback functions.
    - Enhance article validation (`_validate_article`) with better link checking via `_get_page_soup`.
    - Improve reliability of article search (`search_company_article`) with direct match attempt and better error handling.
    - Apply `@retry_on_failure` decorator to network-dependent scraper methods (`_get_page_soup`, `search_company_article`).
- Ensure `Config.VERSION` reflects the logical state (v1.6.5 for this commit).
2025-04-19 16:53:35 +00:00
bde384c1a8 bugfix 2025-04-19 07:17:29 +00:00
dd4c0b2b75 bugfix 2025-04-19 07:15:24 +00:00
ea1734d4cb v1.6.5: Refactor WikipediaScraper für robustere Infobox-Extraktion
- Überarbeite WikipediaScraper._extract_infobox_value:
    - Nutzt flexibleren CSS-Selektor ('table[class*="infobox"]') für Infobox-Suche.
    - Iteriert durch Tabellenzeilen (tr) statt nur durch th.
    - Prüft, ob Keywords *im* normalisierten th-Text enthalten sind (statt exaktem Match).
    - Entfernt <sup>-Tags vor der Textextraktion aus td-Zellen.
    - Nutzt get_text(separator=' ') für bessere Handhabung von <br>.
    - Erweitert die keywords_map für Branche, Umsatz, Mitarbeiter.
    - Fügt detailliertes Debug-Logging für den Extraktionsprozess hinzu.
- Entferne die alten Fallback-Funktionen _extract_full_infobox_text und _parse_infobox_text_fallback.
- Passe WikipediaScraper.extract_company_data an:
    - Ruft _get_page_soup nur einmal auf.
    - Verwendet die neue _extract_infobox_value Methode.
- Verbessere WikipediaScraper._validate_article:
    - Nutzt _get_page_soup für zuverlässigere Link-Prüfung.
    - Prüft Links in Infobox und externe Links.
    - Verwendet simple_normalize_url für URL-Vergleiche.
    - Passt Ähnlichkeitsschwelle an, wenn Domain-Match erfolgreich ist.
- Verbessere WikipediaScraper.search_company_article:
    - Versucht direkten Match zuerst.
    - Prüft ggf. erste Option bei Begriffsklärung.
    - Behandelt Fehler (PageError, DisambiguationError, RequestException) robuster im Such-Loop.
- Verbessere WikipediaScraper._get_page_soup:
    - Fügt Timeout, raise_for_status und explizites UTF-8 Encoding hinzu.
    - Wendet @retry_on_failure Decorator an (Annahme: Decorator existiert).
- Wende @retry_on_failure auch auf search_company_article an.
- Aktualisiere Versionsnummer in Config und Kommentaren auf v1.6.5.
2025-04-18 19:02:14 +00:00
5bfc252469 refactor: v1.6.5 Minor code improvements and consistency
- Add HTML logging to _extract_infobox_value for debugging
- Implement _extract_infobox_value_fallback using regex
- Call fallback in extract_company_data if primary fails
- Add minor logging to _extract_first_paragraph_from_soup
- Adjust extract_numeric_value for robustness
- Add force_process flag to process_branch_batch for combined mode
- Correct indentation in alignment_demo inner function colnum_string
- Refine data preparation logic in DataProcessor.prepare_data_for_modeling
- Add Config.HEADER_ROWS constant
- Increment version to 1.6.5
2025-04-18 18:14:12 +00:00
89d4952742 bugfix 2025-04-18 16:53:40 +00:00
dde79d0c1d bugfix 2025-04-18 16:45:37 +00:00
9fa1cad03f v1.6.5 Improve WikipediaScraper infobox extraction
- Add HTML logging to _extract_infobox_value for debugging"
- Implement _extract_infobox_value_fallback using regex"
- Call fallback in extract_company_data if primary fails"
- Add minor logging to _extract_first_paragraph_from_soup"
- Adjust extract_numeric_value for robustness"
- Increment version to 1.6.5"
2025-04-18 16:44:20 +00:00
4a34292d3a bugfix 2025-04-18 14:20:36 +00:00
b33bea2dbd bugfix 2025-04-18 14:08:09 +00:00
6d2a50dcdf bugfix 2025-04-18 10:57:37 +00:00
a9695a4473 bugfix 2025-04-18 09:53:40 +00:00
4489d8f8c2 bugfix 2025-04-18 09:49:46 +00:00
e3ccb5c81b bugfix 2025-04-18 06:44:42 +00:00
1e4492e9ce bugfix 2025-04-18 06:40:17 +00:00
a0b8ca5f41 bugfix 2025-04-18 06:35:55 +00:00
d422260fff bugfix 2025-04-18 06:30:48 +00:00
45441ae4d7 bugfix 2025-04-18 06:25:05 +00:00
4d3c2ded52 bugfix 2025-04-18 06:18:56 +00:00
5ca84818e9 bugfix 2025-04-18 06:10:21 +00:00
a45e1a3109 bugfix 2025-04-17 19:32:37 +00:00
faac14c91b bugfix 2025-04-17 19:19:44 +00:00
c27e608913 bugfix 2025-04-17 18:50:28 +00:00
45b96f296b bugfix 2025-04-17 18:34:42 +00:00