dealfront_enrichment.py aktualisiert

This commit is contained in:
2025-07-08 16:08:47 +00:00
parent 94fcc7c6e7
commit 0ccb4341fe

View File

@@ -123,14 +123,15 @@ class DealfrontScraper:
try: try:
logger.info("Extrahiere Ergebnisse von der aktuellen Seite...") logger.info("Extrahiere Ergebnisse von der aktuellen Seite...")
results = [] results = []
rows_selector = (By.CSS_SELECTOR, "table#t-result-table tbody tr[id]")
# Warte, bis mindestens eine Daten-Zeile im DOM ist (bis zu 15Sekunden)
self.wait.until(EC.presence_of_all_elements_located(rows_selector))
# Optionaler Minimal-Puffer für Rest-Rendering
time.sleep(1)
rows = self.driver.find_elements(*rows_selector) rows_selector = (By.CSS_SELECTOR, "table#t-result-table tbody tr[id]")
logger.info(f"{len(rows)} Firmen-Datenzeilen zur Verarbeitung gefunden.") # Warte, bis mindestens eine Daten-Zeile im DOM ist (bis zu 15Sekunden)
self.wait.until(EC.presence_of_all_elements_located(rows_selector))
# Optionaler Minimal-Puffer für Rest-Rendering
time.sleep(1)
rows = self.driver.find_elements(*rows_selector)
logger.info(f"{len(rows)} Firmen-Datenzeilen zur Verarbeitung gefunden.")
for i, row in enumerate(rows, 1): for i, row in enumerate(rows, 1):
try: try:
@@ -150,8 +151,10 @@ class DealfrontScraper:
except NoSuchElementException: except NoSuchElementException:
logger.warning(f"Zeile {i}: Name oder Webseite nicht extrahierbar. Überspringe.") logger.warning(f"Zeile {i}: Name oder Webseite nicht extrahierbar. Überspringe.")
continue continue
logger.info(f"Extraktion abgeschlossen. {len(results)} Firmen gefunden.") logger.info(f"Extraktion abgeschlossen. {len(results)} Firmen gefunden.")
return results return results
except Exception as e: except Exception as e:
logger.error(f"Schwerwiegender Fehler bei der Extraktion: {type(e).__name__}", exc_info=True) logger.error(f"Schwerwiegender Fehler bei der Extraktion: {type(e).__name__}", exc_info=True)
self._save_debug_artifacts() self._save_debug_artifacts()