helpers.py aktualisiert

This commit is contained in:
2025-07-18 14:37:52 +00:00
parent 6b2be48470
commit 47d8a85e46

View File

@@ -1334,16 +1334,17 @@ def search_linkedin_contacts(company_name, website, position_query, crm_kurzform
# 11. WEBSITE SCRAPING & VALIDATION UTILITIES
# ==============================================================================
@retry_on_failure
def get_website_raw(url, max_length=20000): # verify_cert wird entfernt
"""
Holt Textinhalt von einer Website, versucht Cookie-Banner zu umgehen.
Versucht zuerst eine sichere Verbindung, bei SSL-Fehler einen unsicheren Fallback.
"""
logger = logging.getLogger(__name__)
# KORREKTUR: Start des allumfassenden try-Blocks
try:
if not url or not isinstance(url, str) or url.strip().lower() in ["k.a.", "kein artikel gefunden", "fehler bei suche", "http:"]:
logger.debug(f"get_website_raw skipped: Ungueltige oder leere URL '{url}'.")
return "k.A."
return "k.A. (Ungueltige URL)" # Etwas informativerer Fehler
if not url.lower().startswith(("http://", "https://")):
url = "https://" + url
@@ -1451,6 +1452,18 @@ def get_website_raw(url, max_length=20000): # verify_cert wird entfernt
logger.debug(traceback.format_exc())
return f"k.A. (Fehler Parsing: {str(e_parse)[:50]}...)"
# KORREKTUR: Allumfassender Catch-Block für alle restlichen Fehler
except requests.exceptions.RequestException as e:
# Extrahiere Status-Code, falls vorhanden
status_code = e.response.status_code if e.response is not None else "N/A"
error_msg = f"k.A. (Netzwerkfehler: {type(e).__name__}, Status: {status_code})"
logger.warning(f"{error_msg} für URL {url[:100]}")
return error_msg
except Exception as e:
error_msg = f"k.A. (Allg. Fehler: {type(e).__name__})"
logger.error(f"{error_msg} für URL {url[:100]}", exc_info=False)
return error_msg
def scrape_website_details(url):
"""