This commit is contained in:
2025-04-09 09:39:28 +00:00
parent 229b4c4ff7
commit 8e16f0bd0f

View File

@@ -1174,27 +1174,34 @@ 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}.")
# Unabhängig von process_wiki: Führe Website-Scraping durch, sofern ein gültiger Website-URL vorliegt. # Website-Scraping: Nur durchführen, wenn der WikipediaArtikel (Spalte M) "k.A." ist.
website_raw = "k.A." website_raw = "k.A."
website_summary = "k.A." website_summary = "k.A."
if website_url.strip() != "" and website_url.strip().lower() != "k.a.": # Hier: Falls Wiki URL (Spalte M) "k.A." ist, dann führe das Scraping durch.
wiki_url_cell = row_data[11].strip().lower() if len(row_data) > 11 else "k.a."
if wiki_url_cell == "k.a." and website_url.strip() != "" and website_url.strip().lower() != "k.a.":
website_raw = get_website_raw(website_url) website_raw = get_website_raw(website_url)
website_summary = summarize_website_content(website_raw) website_summary = summarize_website_content(website_raw)
try: try:
self.sheet_handler.sheet.update(values=[[website_raw]], range_name=f"AR{row_num}") self.sheet_handler.sheet.update(values=[[website_raw]], range_name=f"AR{row_num}")
debug_print(f"Zeile {row_num}: Spalte AR Update erfolgreich.") debug_print(f"Zeile {row_num}: Spalte AR (Website-Rohtext) erfolgreich aktualisiert.")
except Exception as e: except Exception as e:
debug_print(f"Zeile {row_num}: Fehler beim Update von Spalte AR: {e}") debug_print(f"Zeile {row_num}: Fehler beim Update von Spalte AR: {e}")
try: try:
self.sheet_handler.sheet.update(values=[[website_summary]], range_name=f"AS{row_num}") self.sheet_handler.sheet.update(values=[[website_summary]], range_name=f"AS{row_num}")
debug_print(f"Zeile {row_num}: Spalte AS Update erfolgreich.") debug_print(f"Zeile {row_num}: Spalte AS (Website Zusammenfassung) erfolgreich aktualisiert.")
except Exception as e: except Exception as e:
debug_print(f"Zeile {row_num}: Fehler beim Update von Spalte AS: {e}") debug_print(f"Zeile {row_num}: Fehler beim Update von Spalte AS: {e}")
# Falls row_data noch nicht lang genug ist, erweitere die Liste
if len(row_data) < 45:
row_data.extend([""] * (45 - len(row_data)))
row_data[43] = website_raw # Spalte AR (Index 43)
row_data[44] = website_summary # Spalte AS (Index 44)
debug_print(f"Zeile {row_num}: Website-Daten gescrapt. Rohtext (Länge {len(website_raw)}): {website_raw[:100]}..., Zusammenfassung: {website_summary}") 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 Trigger für Website-Scraping (Wiki URL != 'k.A.'), überspringe Website-Scraping.")
# Weiterer Verarbeitungsteil: Wikipedia-Verarbeitung (wenn process_wiki True) # --- Wikipedia-Verarbeitung (falls 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 = {}
@@ -1220,19 +1227,16 @@ def _process_single_row(self, row_num, row_data, process_wiki=True, process_chat
'full_infobox': 'k.A.' 'full_infobox': 'k.A.'
} }
self.sheet_handler.sheet.update(values=[[ self.sheet_handler.sheet.update(values=[[
row_data[11] if len(row_data) > 11 and row_data[11].strip() not in ["", "k.A."] else "k.A.", row_data[11] if len(row_data) > 11 and row_data[11].strip() not in ["", "k.A."] else "k.A."
company_data.get('url', 'k.A.'), , company_data.get('url', 'k.A.'), company_data.get('first_paragraph', 'k.A.'),
company_data.get('first_paragraph', 'k.A.'), company_data.get('branche', 'k.A.'), company_data.get('umsatz', 'k.A.'),
company_data.get('branche', 'k.A.'), company_data.get('mitarbeiter', 'k.A.'), company_data.get('categories', 'k.A.')
company_data.get('umsatz', 'k.A.'),
company_data.get('mitarbeiter', 'k.A.'),
company_data.get('categories', 'k.A.')
]], range_name=wiki_update_range) ]], range_name=wiki_update_range)
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}"
if process_chatgpt: if process_chatgpt: