dealfront_enrichment.py aktualisiert
This commit is contained in:
@@ -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 15 Sekunden)
|
|
||||||
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 15 Sekunden)
|
||||||
|
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()
|
||||||
|
|||||||
Reference in New Issue
Block a user