This commit is contained in:
2025-06-30 13:45:55 +00:00
parent 66ab6f8a09
commit 645d395cbb

View File

@@ -152,19 +152,28 @@ class WikipediaScraper:
self.logger.error(f"Allgemeiner Fehler waehrend der Domain-Link-Pruefung fuer '{page.title[:100]}...': {e_link_check}") self.logger.error(f"Allgemeiner Fehler waehrend der Domain-Link-Pruefung fuer '{page.title[:100]}...': {e_link_check}")
is_valid = False is_valid = False
reason = "Keine Validierungsregel traf zu" reason = ""
# NEU: Detaillierte Debug-Ausgaben für jeden Schritt
self.logger.debug(f" Validierungs-Check für '{page.title[:50]}...':")
self.logger.debug(f" - Aehnlichkeit: {similarity:.2f} (Schwelle: {standard_threshold:.2f})")
self.logger.debug(f" - Domain '{full_domain}' im Artikel gefunden: {domain_found}")
self.logger.debug(f" - Erstes Wort identisch: {first_word_match}")
self.logger.debug(f" - Erste 2 Worte identisch: {first_two_words_match}")
if similarity >= standard_threshold: if similarity >= standard_threshold:
is_valid = True; reason = f"Gesamt-Aehnlichkeit ({similarity:.2f}) >= Schwelle ({standard_threshold:.2f})" is_valid, reason = True, f"Gesamt-Aehnlichkeit ({similarity:.2f}) >= Schwelle ({standard_threshold:.2f})"
elif domain_found and first_two_words_match: elif domain_found and first_two_words_match:
is_valid = True; reason = f"Domain gefunden UND erste 2 Worte stimmen ueberein" is_valid, reason = True, f"Domain gefunden UND erste 2 Worte stimmen ueberein"
elif domain_found and first_word_match and similarity >= 0.40: elif domain_found and first_word_match and similarity >= 0.40:
is_valid = True; reason = f"Domain gefunden UND erstes Wort stimmt ueberein UND Aehnlichkeit >= 0.40" is_valid, reason = True, f"Domain gefunden UND erstes Wort stimmt ueberein UND Aehnlichkeit >= 0.40"
elif first_two_words_match and similarity >= 0.45: elif first_two_words_match and similarity >= 0.45:
is_valid = True; reason = f"Erste zwei Worte stimmen ueberein UND Aehnlichkeit >= 0.45" is_valid, reason = True, f"Erste zwei Worte stimmen ueberein UND Aehnlichkeit >= 0.45"
elif domain_found and similarity >= 0.50: elif domain_found and similarity >= 0.50:
is_valid = True; reason = f"Domain gefunden UND Aehnlichkeit >= 0.50" is_valid, reason = True, f"Domain gefunden UND Aehnlichkeit >= 0.50"
elif first_word_match and similarity >= 0.55: elif first_word_match and similarity >= 0.55:
is_valid = True; reason = f"Erstes Wort stimmt ueberein UND Aehnlichkeit >= 0.55" is_valid, reason = True, f"Erstes Wort stimmt ueberein UND Aehnlichkeit >= 0.55"
else:
reason = "Keine Validierungsregel traf zu"
log_level = logging.INFO if is_valid else logging.DEBUG log_level = logging.INFO if is_valid else logging.DEBUG
self.logger.log(log_level, f" => Artikel '{page.title[:100]}...' {'VALIDIERT' if is_valid else 'NICHT validiert'} (Grund: {reason})") self.logger.log(log_level, f" => Artikel '{page.title[:100]}...' {'VALIDIERT' if is_valid else 'NICHT validiert'} (Grund: {reason})")