data_processor.py aktualisiert

This commit is contained in:
2025-07-18 14:55:21 +00:00
parent 7816269a28
commit 689fcfc6fe

View File

@@ -2421,6 +2421,39 @@ class DataProcessor:
self.logger.info(
f"Website-Scraping (Batch) abgeschlossen. {processed_count} Zeilen verarbeitet, {skipped_count} Zeilen uebersprungen.")
def _scrape_raw_text_task(self, task_info, scrape_function):
"""
Worker-Funktion, die von jedem Thread im ThreadPoolExecutor ausgeführt wird.
Ruft die übergebene Scraping-Funktion (get_website_raw) auf.
Gibt IMMER ein Dictionary zurück, um Abstürze zu vermeiden.
"""
url = task_info.get('url')
row_num = task_info.get('row_num')
self.logger.debug(f" -> Scrape Task gestartet für Zeile {row_num}: {url}")
try:
# Hier rufen wir die gehärteten Helper-Funktionen auf
raw_text_result = get_website_raw(url)
meta_details_result = scrape_website_details(url)
# Gib immer ein Dictionary mit den Ergebnissen zurück
return {
'row_num': row_num,
'raw_text': raw_text_result,
'meta_details': meta_details_result,
'error': None
}
except Exception as e:
# Dieser Block ist ein zusätzliches Sicherheitsnetz, falls die Helper doch abstürzen
self.logger.error(f"FATALER FEHLER im Scraping Worker für Zeile {row_num}: {e}", exc_info=True)
return {
'row_num': row_num,
'raw_text': f'k.A. (FATALER WORKER FEHLER: {e})',
'meta_details': 'k.A.',
'error': True
}
def process_summarization_batch(
self,
start_sheet_row=None,