This commit is contained in:
2025-04-09 09:28:52 +00:00
parent 36e6e59a38
commit 6fbab98257

View File

@@ -1157,10 +1157,10 @@ class DataProcessor:
self._process_single_row(i, row) self._process_single_row(i, row)
rows_processed += 1 rows_processed += 1
def _process_single_row(self, row_num, row_data, process_wiki=True, process_chatgpt=True): def _process_single_row(self, row_num, row_data, process_wiki=True, process_chatgpt=True):
# Hole den Firmennamen aus Spalte B (Index 1) # Hole den Firmennamen aus Spalte B
company_name = row_data[1] if len(row_data) > 1 else "" company_name = row_data[1] if len(row_data) > 1 else ""
# Hole die CRM-Website aus Spalte D (Index 3). Falls keine Website vorhanden ist, führe SERP-API Lookup durch. # Hole die CRM-Website (Spalte D). Wenn diese leer ist, führe den SERP-API Lookup durch.
website_url = row_data[3] if len(row_data) > 3 else "" website_url = row_data[3] if len(row_data) > 3 else ""
if website_url.strip() == "" or website_url.strip().lower() == "k.a.": if website_url.strip() == "" or website_url.strip().lower() == "k.a.":
new_website = serp_website_lookup(company_name) new_website = serp_website_lookup(company_name)
@@ -1174,22 +1174,27 @@ def _process_single_row(self, row_num, row_data, process_wiki=True, process_chat
else: else:
debug_print(f"Zeile {row_num}: Keine Website gefunden für {company_name}.") debug_print(f"Zeile {row_num}: Keine Website gefunden für {company_name}.")
# Website-Scraping: # Unabhängig von process_wiki: Führe Website-Scraping durch, sofern ein gültiger Website-URL vorliegt.
# Hier soll die Website gescrapt werden *unabhängig* von jeglichen Flaggen in Spalte A. website_raw = "k.A."
website_details = "k.A." website_summary = "k.A."
if website_url.strip() != "" and website_url.strip().lower() != "k.a.": if website_url.strip() != "" and website_url.strip().lower() != "k.a.":
# Rufe scrape_website_details auf, um Title, Description, H1, H2, H3 zu extrahieren. website_raw = get_website_raw(website_url)
website_details = scrape_website_details(website_url) website_summary = summarize_website_content(website_raw)
debug_print(f"Zeile {row_num}: Gescrappte Website-Details (erste 100 Zeichen): {website_details[:100]}")
try: try:
self.sheet_handler.sheet.update(values=[[website_details]], range_name=f"AQ{row_num}") self.sheet_handler.sheet.update(values=[[website_raw]], range_name=f"AR{row_num}")
debug_print(f"Zeile {row_num}: Spalte AQ Update erfolgreich.") debug_print(f"Zeile {row_num}: Spalte AR Update erfolgreich.")
except Exception as e: except Exception as e:
debug_print(f"Zeile {row_num}: Fehler beim Update von Spalte AQ: {e}") debug_print(f"Zeile {row_num}: Fehler beim Update von Spalte AR: {e}")
try:
self.sheet_handler.sheet.update(values=[[website_summary]], range_name=f"AS{row_num}")
debug_print(f"Zeile {row_num}: Spalte AS Update erfolgreich.")
except Exception as e:
debug_print(f"Zeile {row_num}: Fehler beim Update von Spalte AS: {e}")
debug_print(f"Zeile {row_num}: Website-Daten gescrapt. Rohtext (Länge {len(website_raw)}): {website_raw[:100]}..., Zusammenfassung: {website_summary}")
else: else:
debug_print(f"Zeile {row_num}: Kein gültiger Website-URL vorhanden, Website-Scraping wird übersprungen.") debug_print(f"Zeile {row_num}: Kein gültiger Website-URL vorhanden, Website-Scraping wird übersprungen.")
# Weiterer Verarbeitungsteil: Wikipedia-Verarbeitung (falls process_wiki True) # Weiterer Verarbeitungsteil: Wikipedia-Verarbeitung (wenn process_wiki True)
wiki_update_range = f"L{row_num}:R{row_num}" wiki_update_range = f"L{row_num}:R{row_num}"
dt_wiki_range = f"AN{row_num}" dt_wiki_range = f"AN{row_num}"
company_data = {} company_data = {}
@@ -1226,7 +1231,7 @@ def _process_single_row(self, row_num, row_data, process_wiki=True, process_chat
self.sheet_handler.sheet.update(values=[[datetime.now().strftime("%Y-%m-%d %H:%M:%S")]], range_name=dt_wiki_range) self.sheet_handler.sheet.update(values=[[datetime.now().strftime("%Y-%m-%d %H:%M:%S")]], range_name=dt_wiki_range)
else: else:
debug_print(f"Zeile {row_num}: Wikipedia-Timestamp bereits gesetzt überspringe Wiki-Auswertung.") debug_print(f"Zeile {row_num}: Wikipedia-Timestamp bereits gesetzt überspringe Wiki-Auswertung.")
# ChatGPT-Verarbeitung (Umsatz, FSM, Mitarbeiter, Branchenevaluierung) # ChatGPT-Verarbeitung (Umsatz, FSM, Mitarbeiter, Branchenevaluierung)
dt_chat_range = f"AO{row_num}" dt_chat_range = f"AO{row_num}"
ver_range = f"AP{row_num}" ver_range = f"AP{row_num}"
@@ -1268,7 +1273,7 @@ def _process_single_row(self, row_num, row_data, process_wiki=True, process_chat
self.sheet_handler.sheet.update(values=[[datetime.now().strftime('%Y-%m-%d %H:%M:%S')]], range_name=dt_chat_range) self.sheet_handler.sheet.update(values=[[datetime.now().strftime('%Y-%m-%d %H:%M:%S')]], range_name=dt_chat_range)
else: else:
debug_print(f"Zeile {row_num}: ChatGPT-Timestamp bereits gesetzt überspringe ChatGPT-Auswertung.") debug_print(f"Zeile {row_num}: ChatGPT-Timestamp bereits gesetzt überspringe ChatGPT-Auswertung.")
# Aktualisiere den Timestamp für die letzte Prüfung und die Version # Aktualisiere den Timestamp für die letzte Prüfung und die Version
current_dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") current_dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
self.sheet_handler.sheet.update(values=[[current_dt]], range_name=ver_range) self.sheet_handler.sheet.update(values=[[current_dt]], range_name=ver_range)