helpers.py aktualisiert
This commit is contained in:
17
helpers.py
17
helpers.py
@@ -1334,16 +1334,17 @@ def search_linkedin_contacts(company_name, website, position_query, crm_kurzform
|
|||||||
# 11. WEBSITE SCRAPING & VALIDATION UTILITIES
|
# 11. WEBSITE SCRAPING & VALIDATION UTILITIES
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
|
|
||||||
@retry_on_failure
|
|
||||||
def get_website_raw(url, max_length=20000): # verify_cert wird entfernt
|
def get_website_raw(url, max_length=20000): # verify_cert wird entfernt
|
||||||
"""
|
"""
|
||||||
Holt Textinhalt von einer Website, versucht Cookie-Banner zu umgehen.
|
Holt Textinhalt von einer Website, versucht Cookie-Banner zu umgehen.
|
||||||
Versucht zuerst eine sichere Verbindung, bei SSL-Fehler einen unsicheren Fallback.
|
Versucht zuerst eine sichere Verbindung, bei SSL-Fehler einen unsicheren Fallback.
|
||||||
"""
|
"""
|
||||||
logger = logging.getLogger(__name__)
|
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:"]:
|
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}'.")
|
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://")):
|
if not url.lower().startswith(("http://", "https://")):
|
||||||
url = "https://" + url
|
url = "https://" + url
|
||||||
@@ -1451,6 +1452,18 @@ def get_website_raw(url, max_length=20000): # verify_cert wird entfernt
|
|||||||
logger.debug(traceback.format_exc())
|
logger.debug(traceback.format_exc())
|
||||||
return f"k.A. (Fehler Parsing: {str(e_parse)[:50]}...)"
|
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):
|
def scrape_website_details(url):
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user