diff --git a/dealfront_enrichment.py b/dealfront_enrichment.py index 573c4b2b..07646c88 100644 --- a/dealfront_enrichment.py +++ b/dealfront_enrichment.py @@ -110,7 +110,7 @@ class DealfrontScraper: self._save_debug_artifacts() return False - def extract_current_page_results(self): + def extract_current_page_results(self): """ Extrahiert Daten NUR aus den sichtbaren Ergebniszeilen und optimiert die Wartezeiten. """ @@ -118,16 +118,16 @@ class DealfrontScraper: logger.info("Extrahiere Ergebnisse mit dem finalen, präzisen Selektor...") results = [] - # 1. Warten, bis die erste Daten-Zeile (bzw. deren Firmen-Link) sichtbar ist. + # 1. Warten, bis die erste Daten-Zelle (Firmenname) sichtbar ist. # Das ist unser Anker, dass die Daten geladen sind. first_company_link_selector = (By.CSS_SELECTOR, "td.sticky-after-checkbox a.t-highlight-text") self.wait.until(EC.visibility_of_element_located(first_company_link_selector)) - # 2. Finde NUR die Zeilen, die tatsächlich einen Firmennamen-Link enthalten. - # Dieser XPath ist extrem robust. + # 2. Finde NUR die Zeilen, die tatsächlich einen sichtbaren Firmennamen-Link enthalten. + # Dieser XPath ist extrem robust und filtert "Geister"-Zeilen heraus. rows_with_data_selector = (By.XPATH, "//table[@id='t-result-table']/tbody/tr[.//a[contains(@class, 't-highlight-text')]]") rows = self.driver.find_elements(*rows_with_data_selector) - logger.info(f"{len(rows)} gültige Firmen-Datenzeilen gefunden.") + logger.info(f"{len(rows)} gültige Datenzeilen zur Verarbeitung gefunden.") if not rows: logger.warning("Konnte keine gültigen Datenzeilen extrahieren.") @@ -148,7 +148,7 @@ class DealfrontScraper: results.append({'name': company_name, 'website': website}) except NoSuchElementException as e: # Dieser Fall sollte jetzt kaum noch auftreten. - logger.warning(f"Konnte Daten aus einer Zeile nicht extrahieren, obwohl sie valide schien: {e}") + logger.warning(f"Konnte Daten aus einer validen Zeile nicht extrahieren: {e}") continue logger.info(f"Extraktion abgeschlossen. {len(results)} Firmen verarbeitet.")