Commit Graph

103 Commits

Author SHA1 Message Date
ff7d5dd278 1.2.8
• Neue Funktionen parse_currency_value und parse_employee_value extrahieren und wandeln Umsatz- bzw. Mitarbeiterzahlen korrekt um.
• Tausenderpunkte werden entfernt und Kommas als Dezimaltrenner ersetzt.
• Skalierung: Bei "mrd." wird der Wert mit 1000 multipliziert, bei "mio." bleibt er unverändert, andernfalls wird angenommen, dass der Wert in Euro vorliegt und durch 1e6 geteilt wird.
• Im Vergleichsabschnitt werden die zu vergleichenden Werte vor dem Versuch der Umwandlung geloggt.
• Es wird eine 1-Sekunden-Pause nach dem Schreiben in Google Sheets eingefügt, um sicherzustellen, dass die Daten übernommen wurden.
2025-04-02 05:50:31 +00:00
491ec4a379 v1.2.7: Verbesserte numerische Bereinigung; robustere Umwandlung von Umsatz & Mitarbeiterzahlen
Verbesserte Numerische Extraktion:
In extract_numeric_value werden nun führende Nicht-Ziffern entfernt. Es wird unterschieden, ob ein Komma als Dezimaltrennzeichen oder als Tausendertrenner genutzt wird. Dadurch werden Werte wie "2,395 Mrd. Euro" korrekt in 2395 Mio. Euro umgerechnet und Mitarbeiterzahlen wie "ca. 800" werden korrekt extrahiert.

Erweiterte Debug-Ausgabe:
Die bereinigten Vergleichswerte für CRM- und Wikipedia-Umsätze werden im Log ausgegeben, um Formatierungsprobleme schneller zu erkennen.

Fallback-Handling:
Bei fehlerhafter Umwandlung wird der Originaltext als Fallback zurückgegeben.
2025-04-01 18:28:40 +00:00
74b1395c57 v1.2.6: Erweiterte String-Bereinigung für Umsatz/Mitarbeiterwerte; verbesserter Debug-Log
Erweiterte String-Bereinigung:
Zusätzliche Ersetzungen in extract_numeric_value (Entfernung von "ca.", "circa", "etwa", "über", "rund") zur robusteren Extraktion numerischer Werte aus Rohtexten.

Fallback-Handling:
Bei Fehlern in der Umwandlung wird der Originaltext oder "k.A." als Fallback ausgegeben.

Zusätzliche Debug-Ausgabe:
Vor dem Vergleich der CRM- und Wikipedia-Umsätze werden die bereinigten Werte im Debug-Log ausgegeben.

Kurze Pause (1 Sekunde):
Eine 1-Sekunden-Pause wird nach dem Update in Google Sheets eingefügt, um sicherzustellen, dass die Werte vor dem Vergleich vollständig gespeichert sind.
2025-04-01 18:19:07 +00:00
e7a30eb587 v1.2.5: Added 1s pause after sheet update & enhanced debug output for Umsatz comparison
1-Sekunden-Pause:
Nach dem Update der Wikipedia-Daten in Google Sheets wird eine 1-Sekunden-Pause eingefügt, um sicherzustellen, dass die Zellen aktualisiert wurden, bevor der Umsatzvergleich erfolgt.

Zusätzliche Debug-Ausgabe:
Vor dem Vergleich werden die CRM-Umsatz- und Wikipedia-Umsatzwerte im Debug-Log ausgegeben, um besser nachvollziehen zu können, welche Werte verglichen werden.

Umsatz-Abgleich:
Die Funktion compare_umsatz_values vergleicht den in Spalte I (CRM) hinterlegten Umsatz mit dem aus Wikipedia extrahierten Umsatz. Bei Abweichungen wird eine entsprechende Meldung in Spalte AG ausgegeben.
2025-04-01 18:07:04 +00:00
a81cbed674 v1.2.4: Added ChatGPT API Umsatz evaluation and CRM vs. Wikipedia Umsatz comparison in Spalte AG
ChatGPT API Integration:

Die Funktion evaluate_umsatz_chatgpt liest den API-Key aus api_key.txt und fragt ChatGPT zur Schätzung des Umsatzes in Mio. € basierend auf dem Firmennamen und Wikipedia-Umsatz.

Das Ergebnis wird in Spalte AF ("Schätzung Umsatz ChatGPT") geschrieben.

Umsatz-Vergleich:

Die Funktion compare_umsatz_values vergleicht den CRM-Umsatz (Spalte I) mit dem Wikipedia-Umsatz (Spalte O).

Das Vergleichsergebnis ("OK" oder eine Abweichungsangabe) wird in Spalte AG ("Begründung für Abweichung Umsatz") eingetragen.

Spaltenzuordnung & Alignment:

Das neue Spaltenschema wird weiterhin über den Alignment-Demo-Modus (Modus 3) getestet.
2025-04-01 17:36:38 +00:00
fa5521ae13 v1.2.4: Integrated ChatGPT API for Umsatz evaluation in Spalte AF
ChatGPT API Integration:

Neue Funktion evaluate_umsatz_chatgpt liest den API-Token aus der Datei api_key.txt und sendet einen strukturierten Prompt an die ChatGPT API.

Der Prompt fordert zur Schätzung des Umsatzes in Mio. Euro auf Basis des Unternehmensnamens und der Wikipedia-Umsatzangabe auf.

Das Ergebnis (nur eine Zahl) wird verarbeitet und in Spalte AF (Schätzung Umsatz ChatGPT) eingetragen.

Update der DataProcessor-Logik:

Nach der Aktualisierung der Wikipedia-Daten (Spalten K bis Q) wird die ChatGPT-API-Funktion aufgerufen, um den Umsatz zu evaluieren, und das Ergebnis in Spalte AF geschrieben.
2025-04-01 16:52:29 +00:00
422fad4952 v1.2.3: Updated alignment demo and extraction ranges per new schema (K:Q for Wiki data, AH for Times
Zusammenfassung der Änderungen (v1.2.2 → v1.2.3)
Neues Spaltenschema:
Die neue Spaltenzuordnung wurde gemäß der CSV-Vorlage umgesetzt. Die relevanten Felder aus Wikipedia werden jetzt in:

Spalte K: Vorschlag Wiki URL (Platzhalter "k.A.")

Spalte L: Wikipedia URL

Spalte M: Wikipedia Absatz

Spalte N: Wikipedia Branche

Spalte O: Wikipedia Umsatz

Spalte P: Wikipedia Mitarbeiter

Spalte Q: Wikipedia Kategorien
geschrieben.

Timestamp & Version:
Der Timestamp wird in Spalte AH und die Version in Spalte AI aktualisiert.

Alignment-Demo:
Der Alignment-Demo-Modus (Option 3) schreibt nun die neuen Spaltenüberschriften in den Range A11200:AI11200 (34 Spalten entsprechend dem neuen Schema).
2025-04-01 16:30:03 +00:00
8e13b5a345 v1.2.2: Added Wikipedia categories extraction; updated update range to J:O
Zusammenfassung der Änderungen (v1.2.1 → v1.2.2)
Wikipedia-Kategorien:

Neue Methode extract_categories im WikipediaScraper extrahiert die Kategorien aus dem <div id="mw-normal-catlinks"> und gibt sie als kommagetrennten String zurück.

In extract_company_data wird das Ergebnis unter dem Schlüssel "categories" in die Rückgabe aufgenommen.

Update-Range:

Die Wikipedia-Daten werden nun in Spalten J bis O geschrieben (6 Spalten: URL, Absatz, Branche, Umsatz, Mitarbeiter, Kategorien).

Spaltenzuordnung:

Timestamp wird in Spalte Y und Version in Spalte Z aktualisiert.
2025-04-01 09:39:36 +00:00
8ef4280b2b v1.2.1: Updated column mapping; Timestamp now in Spalte Y, Version in Spalte Z
Neues Spaltenschema:
Das Schema wurde gemäß deiner Vorgaben aktualisiert:

Spalte A: ReEval Flag

Spalte B: Firmenname

Spalte C: Website

Spalte D: Ort

Spalte E: Beschreibung

Spalte F: Aktuelle Branche

Spalte G: Beschreibung Branche extern

Spalte H: Anzahl Techniker CRM

Spalte I: Vorschlag Wiki URL

Spalte J: Wikipedia URL

Spalte K: Wikipedia Absatz

Spalte L: Wikipedia Branche

Spalte M: Wikipedia Umsatz

Spalte N: Wikipedia Mitarbeiter

Spalte O: Wikipedia Kategorien

Spalte P: Konsistenzprüfung

Spalte Q: Begründung bei Inkonsistenz

Spalte R: Vorschlag Wiki Artikel ChatGPT

Spalte S: FSM Relevanz Ja / Nein

Spalte T: Begründung für FSM Relevanz

Spalte U: Schätzung Anzahl Mitarbeiter

Spalte V: Begründung bei Abweichung

Spalte W: Einschätzung Anzahl Servicetechniker

Spalte X: Begründung bei Abweichung Anzahl Servicetechniker

Spalte Y: Timestamp letzte Prüfung (verschoben von U)

Spalte Z: Version

Alignment-Demo-Modus (Option 3):
Der Alignment-Demo-Modus (Modus 3) schreibt die neuen Spaltenüberschriften in den Range A11200:Z11200, sodass du die korrekte Anordnung vor der inhaltlichen Befüllung überprüfen kannst.

Update-Ranges angepasst:
Sowohl im normalen als auch im Re‑Evaluierungsmodus werden die extrahierten Wikipedia-Felder nun in Spalte J bis N geschrieben, der Timestamp in Spalte Y und die Versionsnummer in Spalte Z.

Diese Version (v1.2.1) spiegelt nun die von dir gewünschte Spaltenanordnung wider. Bitte teste diese Version und gib mir Feedback zur weiteren Optimierung.
2025-04-01 09:20:07 +00:00
5bab7d78f6 v1.2.0: Updated column mapping per new schema with Alignment-Demo mode
Neues Spaltenschema:
Die Alignment-Demo (Modus 3) wurde angepasst, um die neuen Spaltenüberschriften A–Z gemäß dem neuen Schema zu schreiben:

Spalte A (ReEval Flag)

Spalte B (Firmenname)

Spalte C (Website)

Spalte D (Ort)

Spalte E (Beschreibung)

Spalte F (Aktuelle Branche)

Spalte G (Beschreibung Branche extern)

Spalte H (Anzahl Techniker CRM)

Spalte I (Vorschlag Wiki URL)

Spalte J (Wikipedia URL)

Spalte K (Wikipedia Absatz)

Spalte L (Wikipedia Branche)

Spalte M (Wikipedia Umsatz)

Spalte N (Wikipedia Mitarbeiter)

Spalte O (Wikipedia Kategorien)

Spalte P (Konsistenzprüfung)

Spalte Q (Begründung bei Inkonsistenz)

Spalte R (Vorschlag Wiki Artikel ChatGPT)

Spalte S (FSM Relevanz Ja / Nein)

Spalte T (Begründung für FSM Relevanz)

Spalte U (Timestamp letzte Prüfung)

Spalte V (Schätzung Anzahl Mitarbeiter)

Spalte W (Begründung bei Abweichung)

Spalte X (Einschätzung Anzahl Servicetechniker)

Spalte Y (Begründung bei Abweichung Anzahl Servicetechniker)

Spalte Z (Version)

Alignment-Demo-Modus (Option 3):
Beim Starten des Modus 3 wird in Zeile 11200 der Range A11200:Z11200 mit den neuen Überschriften gefüllt, sodass du das Spaltenlayout vor der inhaltlichen Befüllung überprüfen kannst.

Restliche Funktionalität:
Die bestehenden Funktionen (Wikipedia-Suche, Umsatz- und Mitarbeiterextraktion etc.) bleiben unverändert.
2025-04-01 09:08:36 +00:00
9a0b9beb38 v1.2.0: Added Alignment-Demo mode (Option 3) for new column header mapping
Zusammenfassung der Änderungen (v1.1.16 → v1.2.0)
Neue Alignment-Demo (Modus 3):

Ein neuer Modus „3“ wurde hinzugefügt, der ausschließlich eine Demo-Zeile (Zeile 11200) mit den neuen Spaltenüberschriften in das Google Sheet schreibt.

Dies ermöglicht die Validierung der neuen Spaltenanordnung anhand einer Übersetzungstabelle.

Spaltenzuordnung:

Die Code-Logik für das Update der Zellen wurde so angepasst, dass bei normalen bzw. Re‑Evaluierungsmodi die korrekten Spaltenadressen genutzt werden.

Sonstiges:

Unicode-Normalisierung und bestehende Umsatz- sowie Mitarbeiterextraktion (v1.1.16) bleiben erhalten.
2025-04-01 08:30:39 +00:00
30a1eb11e7 v1.1.16: Added fallback debug for Umsatz extraction; improved Mitarbeiter parsing
Unicode Normalisierung:

clean_text nutzt nun unicodedata.normalize("NFKC", ...) zur Vereinheitlichung ambigue Unicode-Zeichen.

Umsatz-Extraktion:

In extract_numeric_value wird nun vor der Regex-Suche nichtbrechende Leerzeichen (\xa0) durch normale Leerzeichen ersetzt.

Bei fehlender Umwandlung (z. B. wenn kein numerischer String gefunden wird) wird ein Debug-Log ausgegeben, der den Original-Rohtext zeigt.

Mitarbeiterextraktion:

Gleiche Methode wie bei Umsatz, wobei die Mitarbeiterzahl als ganze Zahl zurückgegeben wird.

Flexible Regex (unter Nutzung von in im Vergleich) fängt Varianten ab, sodass z. B. "4.175 (2021/22)" zu "4175" wird.
2025-04-01 06:33:31 +00:00
020a17d3b3 v1.1.15: Final Umsatz & Mitarbeiter extraction fix with Unicode normalization
Unicode Normalisierung:

In der Funktion clean_text wird nun unicodedata.normalize("NFKC", ...) verwendet, um ambigue Unicode-Zeichen zu vereinheitlichen. Dadurch sollten unerwartete Leerzeichen oder Sonderzeichen keine Probleme mehr verursachen.

Umsatz-Extraktion:

Der numerische Teil wird korrekt extrahiert, indem Punkte als Tausendertrennzeichen entfernt und Kommas als Dezimaltrenner interpretiert werden.

Bei "Mrd" wird der Wert mit 1000 multipliziert, sodass z. B. "2,395 Mrd. Euro" zu 2395 Mio. umgerechnet wird.

Mitarbeiterextraktion:

Die Mitarbeiterzahl wird mittels der gleichen Helper-Funktion extrahiert. Unicode-Normalisierung und flexible Regex (mit "in" anstatt exakter Vergleiche) sorgen dafür, dass Werte wie "4.175 (2021/22)" korrekt als 4175 erkannt werden.

Allgemeines:

Der Re‑Evaluierungsmodus verarbeitet alle Zeilen mit „x“ in Spalte A und gibt den vollständigen Infobox-Inhalt in der Konsole aus.

Diese Version (v1.1.15) sollte nun das Problem beheben, dass Mitarbeiterzahlen nicht extrahiert wurden, und gleichzeitig die Umsatzwerte korrekt in Mio € umrechnen. Bitte teste die Version und gib Bescheid, falls noch weitere Anpassungen erforderlich sind.
2025-04-01 06:15:11 +00:00
b5d7add8b5 v1.1.14: Final Umsatz & Mitarbeiter extraction fix (Unicode normalized)
Zusammenfassung der Änderungen (v1.1.13 → v1.1.14)
Unicode Normalisierung:

Die Funktion clean_text nutzt nun unicodedata.normalize("NFKC", ...) um ambigue Unicode-Zeichen zu vereinheitlichen. Dadurch werden unerwartete Zeichen in Infobox-Titeln eliminiert.

Umsatz-Extraktion:

Die Helper-Funktion extract_numeric_value behandelt Zahlenstrings nun robust.

Bei "2,395 Mrd. Euro" wird "2,395" extrahiert, Punkte als Tausendertrennzeichen entfernt und das Komma als Dezimaltrenner genutzt.

"mrd" führt zur Multiplikation mit 1000, was den Wert korrekt in Mio € umrechnet (2395 Mio).

Mitarbeiterextraktion:

Der numerische Teil der Mitarbeiterzahl wird mit derselben Helper-Funktion extrahiert.

Unicode-Normalisierung und ein leicht gelockertes Matching in extract_fields_from_infobox_text („if field.lower() in token.lower()“) sollen sicherstellen, dass auch Zahlen wie "4.175 (2021/22)" erkannt und korrekt zu "4175" verarbeitet werden.

Re-Evaluierungsmodus:

Alle Zeilen mit "x" in Spalte A werden verarbeitet; der vollständige Infobox-Inhalt wird in der Konsole ausgegeben, um die Daten zu überprüfen.
2025-04-01 05:22:33 +00:00
72a69c9e50 Finalisierung Umsatz- und Mitarbeiterextraktion – Umsatz in Mio € korrekt, Mitarbeiterzahl als ganze
Umsatz-Extraktion:

Die Helper-Funktion extract_numeric_value wurde angepasst, um leere Eingaben explizit als "k.A." zurückzugeben.

Bei Werten wie "2,395 Mrd. Euro" wird zuerst "2,395" extrahiert, dann werden Punkte als Tausendertrennzeichen entfernt und das Komma als Dezimaltrenner genutzt.

Wird "mrd" gefunden, wird der Wert mit 1000 multipliziert, sodass "2,395 Mrd." zu 2395 Mio. wird.

Falls keine Einheit angegeben ist, wird der Wert als Euro angenommen und durch 1e6 geteilt.

Mitarbeiterextraktion:

Die Funktion extract_numeric_value wird auch für die Mitarbeiterzahl genutzt.

Falls der extrahierte String leer ist, wird "k.A." zurückgegeben.

Beispiel: "4.175 (2021/22)" wird so verarbeitet, dass der Punkt als Tausendertrennzeichen entfernt wird, sodass der Wert "4175" resultiert.

Ambiguitäten bei Tausendertrennzeichen (Punkt als Tausendertrennzeichen) werden nun korrekt behandelt.

Allgemeines:

Der Re‑Evaluierungsmodus gibt weiterhin den vollständigen Infobox-Inhalt in der Konsole aus.

Unicode-Warnungen können ignoriert werden, sofern sie nicht zu funktionalen Problemen führen.
2025-04-01 05:13:13 +00:00
e7accb2428 Umsatz- und Mitarbeiterextraktion finalisiert – Umsatz in Mio € und Mitarbeiterzahl als ganze Zahl (
Umsatz-Extraktion:

Der numerische Teil des Umsatzes wird mittels der Helper-Funktion extract_numeric_value extrahiert.

Komma als Dezimaltrenner wird berücksichtigt (Punkte als Tausendertrennzeichen werden entfernt).

Enthält der Text "mrd" oder "milliarden", wird der Wert mit 1000 multipliziert; enthält er "mio" oder "millionen" bleibt der Wert unverändert.

Fehlt eine Einheit, wird der Wert als Euro angenommen und durch 1.000.000 geteilt.

Beispiel: "10,0 Mrd. Euro (2021/22)" ergibt 10 * 1000 = "10000" Mio.

Mitarbeiterextraktion:

Der numerische Teil der Mitarbeiterzahl wird ebenfalls mit extract_numeric_value extrahiert.

Für Mitarbeiter wird der String ohne Skalierung zurückgegeben.

Beispiel: "4.175 (2021/22)" wird so verarbeitet, dass die Punkte als Tausendertrennzeichen entfernt werden, was "4175" ergibt.

Verwendung von extrahierten Feldern:

In der Funktion extract_company_data werden die rohen Felder ("Branche", "Umsatz", "Mitarbeiter") zuerst über extract_fields_from_infobox_text bezogen und dann mittels extract_numeric_value (für Umsatz und Mitarbeiter) normalisiert.

Re‑Evaluierungsmodus:

Im Modus "2" werden alle Zeilen mit einem "x" in Spalte A verarbeitet, ohne dass nach der Zeilenzahl gefragt wird.

Zusätzlich wird im Re‑Evaluierungsmodus der komplette Infobox-Inhalt in der Konsole ausgegeben.

Warnung zu Unicode:

Die Warnung bezüglich ambigue Unicode-Zeichen kann ignoriert werden, wenn sie nicht zu funktionalen Problemen führt.
2025-04-01 05:03:33 +00:00
5702690cc9 Umsatz- und Mitarbeiterextraktion optimiert – Umsatz in Mio € und Mitarbeiterzahl als ganze Zahl (v1
Umsatz-Extraktion:

Der numerische Teil wird mittels einer neuen Helper-Funktion extract_numeric_value extrahiert.

Wenn im Text "mrd" (Milliarden) vorkommt, wird der extrahierte Wert mit 1000 multipliziert; wenn "mio" vorkommt, bleibt der Wert unverändert.

Wenn keine Einheit angegeben ist, wird angenommen, dass der Wert in Euro ist, und er wird durch 1.000.000 geteilt.

Beispiel: Aus "10,0 Mrd. Euro (2021/22)" wird der Wert 10,0 → 10 * 1000 = 10000 Mio.

Mitarbeiter-Extraktion:

Der numerische Teil wird ebenfalls mit extract_numeric_value extrahiert, ohne Skalierung.

Beispiel: Aus "4.175 (2021/22)" wird "4.175" erkannt und die Punkte als Tausendertrennzeichen entfernt, sodass "4175" resultiert.

Re-Evaluierungsmodus:

Alle Zeilen mit "x" in Spalte A werden verarbeitet (ohne Abfrage der Zeilenzahl).

Zusätzlich wird im Re-Evaluierungsmodus der komplette Infobox-Inhalt in der Konsole ausgegeben.

Spaltenanpassungen:

Im normalen Modus: Firmenname in Spalte A, Website in Spalte B; Ausgabe in G:K, Datum in N, Version in Q.

Im Re‑Evaluierungsmodus: Firmenname in Spalte B, Website in Spalte C; Ausgabe in H:L, Datum in O, Version in R.
2025-04-01 04:57:52 +00:00
8e96b454c6 Extraktion von Umsatz und Mitarbeiterzahl optimiert – Umsatz in Mio € und Mitarbeiterzahl als ganze
Umsatz-Extraktion:

Die Regex erfasst nun den Zahlenstring (z. B. „10,0“) und entfernt Tausendertrennzeichen (Punkte, Leerzeichen).

Wird im Text "mrd" gefunden, wird der Wert mit 1000 multipliziert, ansonsten bleibt er (bei "mio") unverändert.

Fehlt eine Einheit, wird der Wert als in Euro angegeben angenommen und durch 1.000.000 geteilt, sodass der Umsatz in Mio € resultiert.

Mitarbeiter-Extraktion:

Spezifische Suche mittels Regex nach dem Schlüsselwort "mitarbeiterzahl" (oder "mitarbeiter") gefolgt von einem Zahlenformat (z. B. "4.175").

Falls der gefundene Zahlenstring einen Punkt als Tausendertrennzeichen enthält (und kein Komma), wird dieser entfernt, sodass "4.175" zu "4175" wird.

Re-Evaluierungsmodus:

Alle Zeilen mit einem "x" in Spalte A werden verarbeitet, und der komplette Infobox-Inhalt wird in der Konsole ausgegeben.

Spaltenanpassungen:

Normalmodus: Firmenname in Spalte A, Website in Spalte B; Ausgabe in G:K, Datum in N, Version in Q.

Re‑Evaluierungsmodus: Firmenname in Spalte B, Website in Spalte C; Ausgabe in H:L, Datum in O, Version in R.
2025-04-01 04:03:57 +00:00
99fba5787d Optimierung der Mitarbeiter- und Umsatzextraktion: Mitarbeiterzahl als vollständige Zahl und Umsatz
Umsatz-Extraktion:

Der Zahlenstring wird robust normalisiert, indem Tausendertrennzeichen (Punkte, Leerzeichen) entfernt und das Komma als Dezimaltrenner berücksichtigt wird.

Falls keine Einheit ("mio" oder "mrd") angegeben ist, wird der Wert als Euro angenommen und durch 1.000.000 geteilt.

Mitarbeiter-Extraktion:

Die Regex wurde erweitert, um gezielt nach dem Begriff "mitarbeiterzahl" (oder "mitarbeiter") zu suchen und alle Ziffern (einschließlich Tausendertrennzeichen) zu extrahieren, sodass z. B. aus "4.175" der Wert "4175" wird.

Re-Evaluierungsmodus:

Im Modus "2" werden alle Zeilen mit "x" in Spalte A verarbeitet, und der komplette Infobox-Inhalt wird in der Konsole ausgegeben.

Spaltenanpassungen:

Normalmodus: Firmenname in Spalte A, Website in Spalte B; Ausgabe in G:K, Datum in N, Version in Q.

Re‑Evaluierungsmodus: Firmenname in Spalte B, Website in Spalte C; Ausgabe in H:L, Datum in O, Version in R.
2025-04-01 03:46:24 +00:00
bbe14c8a9d Re-Evaluierungsmodus: Vollständige Infobox-Ausgabe und verbesserte Umsatz-/Mitarbeiterextraktion (v1
Infobox-Debug im Re-Evaluierungsmodus:
Im Re-Evaluierungsmodus (Modus "2") wird nun der komplette Inhalt der Infobox (Key "full_infobox") in der Konsole ausgegeben.

Umsatz-Extraktion:
Die Regex wurde angepasst, um Zahlenstrings robuster zu normalisieren – Punkte als Tausendertrennzeichen werden entfernt, Kommas als Dezimaltrenner genutzt. Fehlt eine Einheit ("mio"/"mrd"), wird der Wert als Euro angenommen und durch 1.000.000 geteilt.

Mitarbeiterextraktion:
Die Regex für Mitarbeiter wurde erweitert: Wird explizit "mitarbeiterzahl" gefunden, wird der direkt folgende Zahlenwert extrahiert; sonst wird der erste gefundene Zahlenwert verwendet. Weitere Synonyme wie "angestellte", "belegschaft" und "personalstärke" sind in der Schlüsselwortliste enthalten.

Re-Evaluierungsmodus:
Im Modus "2" werden alle Zeilen verarbeitet, die in Spalte A ein "x" enthalten – ohne Nachfrage nach Zeilenzahl und ohne Ausgabe von übersprungenen Zeilen.

Spaltenanpassungen:

Normalmodus: Firmenname in A, Website in B; Ausgabe in G:K, Datum in N, Version in Q.

Re‑Evaluierungsmodus: Firmenname in B, Website in C; Ausgabe in H:L, Datum in O, Version in R.
2025-04-01 03:38:53 +00:00
917b2acebe Optimierung der Umsatz- und Mitarbeiterextraktion; Re‑Evaluierungsmodus ohne Zeileneingabe (v1.1.8)
Umsatz-Extraktion:

Erweiterte Regex, um Zahlenstrings robust zu normalisieren:

Entfernt Tausendertrennzeichen (Punkte und Leerzeichen).

Verwendet Komma als Dezimaltrenner, falls vorhanden.

Wenn keine Einheit (Mio, Mrd) vorhanden ist, wird der Wert als Euro angenommen und durch 1.000.000 geteilt.

Mitarbeiter-Extraktion:

Erweiterung der Schlüsselwortliste (z. B. "mitarbeiterzahl", "angestellte", "belegschaft", "personalstärke").

Falls "mitarbeiterzahl" explizit vorkommt, wird direkt der Zahlenwert danach extrahiert.

Re‑Evaluierungsmodus:

Im Modus "2" werden alle Zeilen verarbeitet, bei denen in Spalte A ein "x" steht, ohne dass nach der Anzahl der zu überprüfenden Zeilen gefragt wird.

Übersprungene Zeilen werden nicht geloggt.

Spaltenanpassungen:

Im normalen Modus: Firmenname in Spalte A, Website in Spalte B; Ausgabe in G:K, Datum in N, Version in Q.

Im Re‑Evaluierungsmodus: Firmenname in Spalte B, Website in Spalte C; Ausgabe in H:L, Datum in O, Version in R.
2025-04-01 03:30:45 +00:00
ef93384053 Umsatzsuche + Mitarbeitersuche + Debug Mode
Umsatz‑Extraktion:

Die Regex zur Erfassung der Zahl wurde leicht vereinfacht, sodass nun zunächst alle Ziffern und die Zeichen „,.“ erfasst werden.

Falls ein Komma vorhanden ist, werden Punkte als Tausendertrennzeichen entfernt und das Komma als Dezimaltrenner verwendet; falls nicht, werden alle Punkte (und Leerzeichen) entfernt.

Anschließend wird geprüft, ob im Text Hinweise wie „mrd“ oder „mio“ vorkommen, um den Wert korrekt in Mio € umzurechnen.

Mitarbeiter‑Extraktion:

Wenn der Text in der Zelle „Mitarbeiterzahl“ enthält, wird dieser Teil abgespalten und danach mittels Regex das erste Zahlenfragment erfasst.

Re‑Evaluierungsmodus:

Der Modus „2“ verarbeitet alle Zeilen, in denen in Spalte A ein „x“ steht und ignoriert die Abfrage der Zeilenzahl (das kannst du aber optional beibehalten, falls gewünscht).
2025-04-01 03:18:39 +00:00
55915fd567 Erweiterung des Modus-Auswahlmechanismus: Normalmodus vs. Re-Evaluierungsmodus (v1.1.6)
Modus-Auswahl:

Beim Programmstart wird abgefragt, ob der normale Modus (alle Zeilen, Spalten A = Firmenname, B = Website, Ausgabe in G:K, N und Q) oder der Re‑Evaluierungsmodus (nur Zeilen mit "x" in Spalte A, Firmenname in B, Website in C, Ausgabe in H:L, O und R) verwendet werden soll.

Spaltenanpassung:
Die Ausgabespalten werden je nach Modus um eine Spalte verschoben, sodass der Re‑Evaluierungsmodus eine Flag-Spalte in A nutzt.

Anpassung der Verarbeitung:
Zeilen ohne "x" in Spalte A werden im Re‑Evaluierungsmodus übersprungen.

Beibehaltung der bisherigen Logik:
Die Umsatz- und Mitarbeiterextraktion sowie die übrigen Funktionen bleiben unverändert.
2025-04-01 03:02:53 +00:00
5a94a3d4c5 Erweiterung der Re-Evaluierung mittels Flag und Optimierung der Umsatz- und Mitarbeiterextraktion (v
Flag-Spalte A:
Nur Zeilen mit einem "x" in Spalte A werden verarbeitet.

Verschiebung der Spaltenzuordnungen:

Firmenname in Spalte B, Website in Spalte C.

Ausgabe erfolgt in den Spalten H bis L (H: Wikipedia URL, I: erster Absatz, J: Branche, K: Umsatz in Mio €, L: Mitarbeiterzahl).

Datum und Uhrzeit in Spalte O, Version in Spalte R.

Umsatz-Extraktion:
Erweiterte Regex-Logik zur Erkennung von Tausendertrennzeichen und zur Umrechnung in Mio €.

Mitarbeiterextraktion:
Umstellung auf re.findall, um robust das erste Zahlenfragment zu erfassen.

Weitere Anpassungen:
Deprecation-Warnings bei den Update-Aufrufen wurden behoben (mittels benannter Argumente).
2025-04-01 02:50:59 +00:00
37ad58703a Optimierung der Wikipedia-Auswertung: Umsatz-Extraktion und Mitarbeiterzahl verbessert (v1.1.5)
Zusammenfassung:

Spaltenreihenfolge aktualisiert:

G: Wikipedia URL

H: Erster Absatz des Wikipedia-Artikels

I: Branche (aus der Infobox)

J: Umsatz (als Zahl in Mio €, z. B. "159")

K: Anzahl Mitarbeiter (aus der Infobox)

N: Datum und aktuelle Zeit

Q: Version

Umsatz-Extraktion:

Regex erkennt jetzt "Mio"/"Millionen" und "Mrd"/"Milliarden".

Ist keine Einheit vorhanden, wird der Wert in Euro in Mio € umgerechnet (Division durch 1.000.000).

Mitarbeiterzahl-Extraktion:

Regex wurde erweitert, um Zahlen mit Leerzeichen zu erfassen.

Zusätzliche Schlüsselwörter wie "Mitarbeiterzahl" werden berücksichtigt.

Deprecation-Warnings:

Die Update-Aufrufe für Google Sheets wurden so angepasst, dass die Werte vor dem Range-Namen übergeben werden.
2025-03-31 20:26:57 +00:00
caeb841e55 Optimierung der Wikipedia-Auswertung: Neue Spaltenreihenfolge, Datum/Uhrzeit und Version
Spaltenreihenfolge angepasst:

G: Wikipedia URL

H: Erster Absatz des Wikipedia-Artikels

I: Branche (aus Infobox)

J: Umsatz (als Zahl in Mio €, z. B. "159")

K: Anzahl Mitarbeiter (aus Infobox)

Neue Felder:

Spalte N: Aktuelles Datum und Zeit

Spalte Q: Version

Infobox-Ausgabe entfernt:
Die komplette Infobox wird nicht mehr ausgegeben.

Normalisierung der Firmennamen:
Erweiterte Regex entfernt nun eine umfangreiche Liste gängiger Firmierungsformen (u.a. GmbH, G.m.b.H., UG, AG, OHG, KG, GmbH & Co. KG, AG & Co. KG, e.K., Ltd., S.a r.l., Stiftung, Genossenschaft, gGmbH, gUG, PartG, KGaA, SE, OG, e.U., etc.).

Erster Absatz:
Eine neue Methode extrahiert den ersten sinnvollen Absatz des Wikipedia-Artikels.

Umsatzformatierung:
Umsatz wird als reine Zahl (in Mio €) ausgegeben.

Google Sheet Update:
Aktualisierung erfolgt nun in separaten Ranges für die gewünschten Spalten (G:K, N und Q).
2025-03-31 19:52:12 +00:00
3176c701bc Optimierung der Wikipedia-Auswertung: Neue Spaltenreihenfolge und erweiterte Extraktion (v1.1.3)
Spaltenreihenfolge angepasst:

G: Wikipedia URL

H: Erster Absatz des Wikipedia-Artikels

I: Branche (aus Infobox)

J: Umsatz (als Zahl in Mio €, z. B. "159")

K: Anzahl Mitarbeiter (aus Infobox)

Entfernung der kompletten Infobox-Ausgabe.

Extraktion des ersten Absatzes: Neue Methode extract_first_paragraph liefert den ersten sinnvollen Absatz.

Erweiterung der Infobox-Extraktion: Jetzt werden zusätzlich "Mitarbeiter" aus der Infobox extrahiert.

Umsatz-Formatierung: Umsatz wird als reine Zahl (in Mio €) ausgegeben.

Google Sheet Update: Aktualisierung erfolgt nun auf Spalte G bis K (5 Spalten).
2025-03-31 19:41:22 +00:00
3f30c63adc domain priorisierung
Vollständige Domain-Extraktion:
Implementiert über die neue Methode _get_full_domain, die nun den kompletten Domainnamen (inklusive TLD) liefert (z. B. "heimbach.com").

Normalisierung der Firmennamen:
Einführung der Funktion normalize_company_name, welche gängige Firmierungsformen (z. B. GmbH, AG, Aktiengesellschaft, Co. KG, mbH, & Co. KG, e.V., Limited, Ltd, Inc, Corp, Corporation, Gruppe) entfernt. Dies führt zu einem konsistenten Vergleich zwischen den Unternehmensdaten und Wikipedia-Titeln.

Verbesserte Artikelvalidierung:
In _validate_article werden nun:

Infobox-Links sowie externe Links geprüft, ob sie den vollständigen Domainnamen enthalten (ohne Dateilinks).

Der Vergleich der Wikipedia-Titel und des Firmennamens erfolgt auf Basis der normalisierten Namen.

Ein dynamischer Schwellenwert wird verwendet (0.60 statt 0.65), wenn ein definitiver Link-Match gefunden wurde.
2025-03-31 19:18:07 +00:00
37034e778e syntax korrektur 2025-03-31 18:58:12 +00:00
dec4fd4342 Priorisierung url in Infobox
Infobox-Links als definitiver Beleg:
In der Methode _validate_article wird nun die Infobox des Wikipedia-Artikels nach externen Links durchsucht. Wird der Domain-Key (extrahiert aus der URL) in einem dieser Links gefunden, wird der Artikel ohne weiteren Ähnlichkeitsvergleich als korrekt akzeptiert.

Optimierte Suchbegriff-Generierung:
Die Funktion _generate_search_terms nutzt nun zuerst den Domain-Key, dann die ersten zwei Wörter des Firmennamens und zuletzt den vollständigen Namen, um die relevantesten Treffer zu erzielen.

Weitere kleinere Verbesserungen:
Debug-Log-Ausgaben wurden angepasst, um den Such- und Validierungsprozess besser nachvollziehen zu können.
2025-03-31 18:54:46 +00:00
f112970bb8 Wiki Such Optimierung
Optimierte Suchbegriffe:
– Es werden nur der original Firmenname, seine ersten zwei Wörter und der Domain-Key (erstes Segment der URL) genutzt.
– So werden irrelevante Begriffe wie „www“ vermieden.

Validierung:
– Vor Akzeptanz eines Artikels wird geprüft, ob der Domain-Key im HTML vorkommt und der Titel des Artikels eine ausreichende Ähnlichkeit zum Firmennamen aufweist.

Struktur:
– Der Code ist in einer neuen Datei namens anpassungen.py zusammengefasst und einsatzbereit.
2025-03-31 18:40:50 +00:00
bd64fc7121 Update nach der ersten Version die einigermaßen funktioniert
URL-Normalisierung:
Die Methode _normalize_domain entfernt nun explizit Protokoll und „www“, sodass z. B. aus „www.heilemann-leo.de“ einfach „heilemann-leo.de“ wird.

Suchlogik:
In _generate_search_terms wird zuerst der normalisierte Domainname verwendet. Erst danach kommen der bereinigte Firmenname und ergänzende Begriffe. So wird irrelevanter Suchbegriff wie „www“ vermieden.

Validierung:
Die Artikel werden auf ihre Relevanz (unter anderem mittels Ähnlichkeitsvergleich) geprüft, sodass nur Artikel mit ausreichend hoher Ähnlichkeit akzeptiert werden.
2025-03-31 18:25:48 +00:00
f046311521 BugfixingChat GPT
GoogleSheetHandler: Der Update-Bereich wurde auf G{row_num}:R{row_num} erweitert, um 12 Spalten zu umfassen.

WikipediaScraper:

Die Methode extract_full_infobox holt den gesamten Infobox-Text mit | als Trenner.

Mit extract_fields_from_infobox_text werden gezielt die Felder "Branche" und "Umsatz" gesucht.

In extract_company_data wird zuerst versucht, die Werte aus dem kompletten Infobox-Text zu extrahieren, bevor der Fallback genutzt wird.

DataProcessor: Die Ausgabe im Sheet umfasst nun als erste Spalte den gesamten Infobox-Text.
2025-03-31 18:08:51 +00:00
89a6b97253 Chat GPT Bugfix 2025-03-31 17:38:39 +00:00
1468375170 Chat GPT Bugfixing Infobox ausgabe 2025-03-31 17:32:37 +00:00
0875a7c7df Deepseek bugfix v10
Wichtigste Änderungen:

Hinzugefügte search_company_article-Methode

extract_company_data-Methode ergänzt

Konsistente Fehlerbehandlung

Domain-Validierung in der Artikelsuche
2025-03-31 17:12:33 +00:00
44193fc6c1 Deepseek v8
Domain-Normalisierung:

python
Copy
def _normalize_domain(self, website):
    # Konvertiert URLs wie "https://www.heimerle-meule.com/de/" zu "heimerle-meule"
Optimierte Suchbegriffe:

Entfernt alle Rechtsformen systematisch

Kombiniert Domain-Namen und Schlüsselwörter

Beispiel: Aus "Heimerle + Meule GmbH" wird:

python
Copy
['Heimerle + Meule GmbH', 'Heimerle + Meule', 'heimerle-meule']
Erweiterte Infobox-Analyse:

30% mehr Schlüsselwörter für Branchen

Berücksichtigt alternative Umsatzbezeichnungen wie "Betriebsergebnis"

Verarbeitet verschiedene Zahlenformate:

"123,45 Mio. €"

"5.678.900 Euro"

"9,99 Mrd."

Robuste Textbereinigung:

python
Copy
# Aus "Medizintechnik [3](Stand: 2022)" wird "Medizintechnik"
re.sub(r'\[.*?\]|\(.*?\)', '', raw_value)
2025-03-31 16:57:51 +00:00
eecbf383b5 deepseek V7
Vollständige Implementierung der _extract_infobox_value-Methode

Erweiterte Schlüsselwörter für deutsche Infoboxen

Verbesserte Textbereinigung für Branchenangaben

Toleranz für verschiedene Zahlenformate

Debug-Output für jeden Verarbeitungsschritt
2025-03-31 16:45:02 +00:00
e8968836a3 Deepseek bugfix v3
Erklärung der Verbesserungen für Heine Optotechnik:

Erweiterte Header-Erkennung:

python
Copy
if any(kw in header_text for kw in keywords):
Erkennt jetzt auch "Tätigkeitsfeld" und "Aktivitäten"

Branchenbereinigung:

python
Copy
value = re.sub(r'\(.*?\)', '', value)
Entfernt Klammerzusätze wie "(seit 2020)"

Flexiblere Infobox-Erkennung:

python
Copy
infobox = soup.find('table', {'class': lambda c: c and 'infobox' in c.lower()})
Findet auch nicht-standardisierte Infobox-Klassen

Debug-Output:

python
Copy
debug_print(f"Prüfe Header: {header_text}")
Zeigt alle untersuchten Header an
2025-03-31 16:37:40 +00:00
f665612146 infobox bugfix
Erweiterte Infobox-Erkennung:

Unterstützt jetzt zusätzliche Klassen wie firma und unternehmensdaten

Berücksichtigt div-Elemente neben Tabellenzeilen

Verbesserte Schlüsselwörter:

50% mehr Keywords für Branchen- und Umsatzfelder

Berücksichtigt typisch deutsche Formulierungen

Flexible Wertextraktion:

Verarbeitet Listen (<li>-Elemente)

Ignoriert Navigationsboxen (navbox-Klasse)

Sucht in verschiedenen HTML-Elementen (div, td, th)

Robuste Umsatzanalyse:

Erkennt verschiedene Schreibweisen:

"123,45 Mio. €"

"1.234,56 Millionen Euro"

"5,6 Mrd. USD"

Führt automatische Umrechnung durch:

1 Milliarde → 1000 Millionen

Standardisiert die Ausgabe auf "X.X Mio €"

Erweiterte Debug-Informationen:

Protokolliert fehlgeschlagene Suchvorgänge

Zeigt erkannte Werte im Rohformat an
2025-03-31 15:11:39 +00:00
05185396c7 syntax fix 2025-03-31 14:46:16 +00:00
2607ea667f Deepseek V6 2025-03-31 14:45:40 +00:00
7aaa4147fa syntax fix 2025-03-31 14:32:29 +00:00
76e0259a63 Sntaxfehler 2025-03-31 14:27:09 +00:00
8dbfa64661 bugfix 2025-03-31 14:25:50 +00:00
2bdcc5fa09 Chat GPT Bugfix für Deepseek 2025-03-31 14:25:01 +00:00
7db265bebe Deepseek V5 2025-03-31 14:10:27 +00:00
d747581001 Deepseek Bugfix V2 2025-03-31 13:37:54 +00:00
5940b44406 Deepseek V4 Bugfix 2025-03-31 13:37:11 +00:00
65c7112500 Deepsek V4
Erweiterte Schlüsselwörter:

python
Copy
'branche': ['branche', 'industrie', 'produkte', ...],
'umsatz': ['umsatz', 'jahresumsatz', 'ergebnis', ...]
Robustere Infobox-Erkennung:

python
Copy
class_=lambda c: any(kw in c.lower() for kw in ['infobox', 'vcard', 'unternehmen'])
Verbesserte Zellenverarbeitung:

Berücksichtigt Listen (<li>-Elemente)

Ignoriert verschachtelte Tabellen

Sucht in allen relevanten Zellen (<th> und <td>)

Präzise Umsatzextraktion:

python
Copy
r'(\d{1,3}(?:[.,]\d{3})*(?:[.,]\d{2})?)\s*(?:Mio\.?|Millionen|...)\s*(?:€|Euro|EUR)'
2025-03-31 13:35:53 +00:00