This commit is contained in:
2025-06-30 14:49:08 +00:00
parent 5634471488
commit d91df3fe2a

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):
"""
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__)
serp_key = Config.API_KEYS.get('serpapi')
if not serp_key:
logger.error("Fehler: SerpAPI Key nicht verfuegbar fuer Wikipedia Lookup.")
# NEU: Semantisch korrekterer Fehler. ConnectionRefusedError ist irreführend.
raise ValueError("SerpAPI Key nicht konfiguriert.")
# Kein harter Fehler mehr, nur eine Warnung und Rückgabe von None
logger.warning("SerpAPI Key nicht konfiguriert. Wikipedia-Suche via SerpAPI übersprungen.")
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'
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:
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
def serp_website_lookup(company_name):
"""
Ermittelt die offizielle Website eines Unternehmens ueber SerpAPI (Google Suche).
Gibt die URL als String oder "k.A." zurück.
"""
logger = logging.getLogger(__name__)
serp_key = Config.API_KEYS.get('serpapi')
if not serp_key:
logger.error("Fehler: SerpAPI Key nicht verfuegbar fuer Website Lookup.")
raise ConnectionRefusedError("SerpAPI Key nicht konfiguriert.")
logger.warning("SerpAPI Key nicht konfiguriert. Website-Suche via SerpAPI übersprungen.")
return "k.A. (SerpAPI Key fehlt)"
if not company_name or str(company_name).strip() == "":
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"]
query = f'{company_name} offizielle Website'