This commit is contained in:
2025-06-30 14:49:08 +00:00
parent 3a138b7c33
commit 2cae37cbe0

View File

@@ -1074,13 +1074,18 @@ def evaluate_branche_chatgpt(crm_branche, beschreibung, wiki_branche, wiki_kateg
def serp_wikipedia_lookup(company_name, website=None, min_score=0.4): def serp_wikipedia_lookup(company_name, website=None, min_score=0.4):
""" """
Sucht ueber SerpAPI (Google) nach dem wahrscheinlichsten Wikipedia-Artikel. Sucht ueber SerpAPI (Google) nach dem wahrscheinlichsten Wikipedia-Artikel.
Gibt die URL als String oder None bei Fehler/Nicht-Fund zurück.
""" """
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
serp_key = Config.API_KEYS.get('serpapi') serp_key = Config.API_KEYS.get('serpapi')
if not serp_key: if not serp_key:
logger.error("Fehler: SerpAPI Key nicht verfuegbar fuer Wikipedia Lookup.") # Kein harter Fehler mehr, nur eine Warnung und Rückgabe von None
# NEU: Semantisch korrekterer Fehler. ConnectionRefusedError ist irreführend. logger.warning("SerpAPI Key nicht konfiguriert. Wikipedia-Suche via SerpAPI übersprungen.")
raise ValueError("SerpAPI Key nicht konfiguriert.") return None
if not company_name or str(company_name).strip() == "":
logger.warning("serp_wikipedia_lookup: Kein Firmenname angegeben.")
return None
query = f'{company_name} Wikipedia' query = f'{company_name} Wikipedia'
if website and simple_normalize_url(website) != "k.A.": if website and simple_normalize_url(website) != "k.A.":
@@ -1164,23 +1169,25 @@ def serp_wikipedia_lookup(company_name, website=None, min_score=0.4):
except Exception as e: except Exception as e:
logger.error(f"FEHLER bei der SerpAPI Wikipedia Suche fuer '{company_name}': {e}") logger.error(f"FEHLER bei der SerpAPI Wikipedia Suche fuer '{company_name}': {e}")
raise e # Wir geben die Exception nicht mehr weiter, damit das Programm nicht abbricht
return None
@retry_on_failure @retry_on_failure
def serp_website_lookup(company_name): def serp_website_lookup(company_name):
""" """
Ermittelt die offizielle Website eines Unternehmens ueber SerpAPI (Google Suche). Ermittelt die offizielle Website eines Unternehmens ueber SerpAPI (Google Suche).
Gibt die URL als String oder "k.A." zurück.
""" """
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
serp_key = Config.API_KEYS.get('serpapi') serp_key = Config.API_KEYS.get('serpapi')
if not serp_key: if not serp_key:
logger.error("Fehler: SerpAPI Key nicht verfuegbar fuer Website Lookup.") logger.warning("SerpAPI Key nicht konfiguriert. Website-Suche via SerpAPI übersprungen.")
raise ConnectionRefusedError("SerpAPI Key nicht konfiguriert.") return "k.A. (SerpAPI Key fehlt)"
if not company_name or str(company_name).strip() == "": if not company_name or str(company_name).strip() == "":
logger.warning("serp_website_lookup: Kein Firmenname angegeben.") logger.warning("serp_website_lookup: Kein Firmenname angegeben.")
raise ValueError("Kein Firmenname fuer SerpAPI Website Lookup angegeben.") return "k.A. (Kein Firmenname)"
blacklist = ["bloomberg.com", "northdata.de", "finanzen.net", "handelsblatt.com", "wikipedia.org", "linkedin.com", "xing.com", "youtube.com", "facebook.com", "twitter.com", "instagram.com", "glassdoor.com", "kununu.com"] blacklist = ["bloomberg.com", "northdata.de", "finanzen.net", "handelsblatt.com", "wikipedia.org", "linkedin.com", "xing.com", "youtube.com", "facebook.com", "twitter.com", "instagram.com", "glassdoor.com", "kununu.com"]
query = f'{company_name} offizielle Website' query = f'{company_name} offizielle Website'