From 6ca9fbbc69c979fd732b13b59f37a6d112996bf7 Mon Sep 17 00:00:00 2001 From: Floke Date: Fri, 6 Mar 2026 09:14:47 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20[30388f42]=20F=C3=BCge=20zentrale=20REA?= =?UTF-8?q?DME=20f=C3=BCr=20archivierte=20Fotograf.de=20Tools=20hinzu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Erstellt eine umfassende README.md im Verzeichnis . - Beschreibt die Startprozeduren und Abhängigkeiten für den "Fotograf.de Scraper" und den "Google Docs Teilnehmerlisten-Generator". - Enthält wichtige Hinweise zur manuellen Erstellung von Credentials-Dateien und die Notwendigkeit, diese in Zukunft über Umgebungsvariablen zu verwalten. --- ARCHIVE_vor_migration/Fotograf.de/README.md | 75 +++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 ARCHIVE_vor_migration/Fotograf.de/README.md diff --git a/ARCHIVE_vor_migration/Fotograf.de/README.md b/ARCHIVE_vor_migration/Fotograf.de/README.md new file mode 100644 index 00000000..601c3d1c --- /dev/null +++ b/ARCHIVE_vor_migration/Fotograf.de/README.md @@ -0,0 +1,75 @@ +# Archivierte Fotograf.de Tools + +Dieses Verzeichnis (`ARCHIVE_vor_migration/Fotograf.de/`) enthält zwei archivierte Tools, die zuvor für die Interaktion mit `app.fotograf.de` und die Erstellung von Google Docs Teilnehmerlisten verwendet wurden. + +Beide Tools sind hier isoliert und dokumentiert, um eine spätere Wiederverwendung und Überarbeitung zu erleichtern. + +## 1. Fotograf.de Scraper + +**Verzeichnis:** `./scraper/` + +**Zweck:** +Ein Python-basiertes Skript, das die Website `app.fotograf.de` automatisiert besucht, sich anmeldet und in zwei Modi Daten extrahiert: +1. **E-Mail-Liste erstellen:** Sammelt Kontaktdaten (Käufer, E-Mail, Kindnamen, Login-URLs) und speichert sie in einer CSV-Datei (`supermailer_fertige_liste.csv`). +2. **Statistik auswerten:** Erstellt eine Statistik-CSV-Datei (`job_statistik.csv`) über Album-Käufe. + +**Benötigte Dateien:** +* `./scraper/scrape_fotograf.py`: Das Hauptskript mit der gesamten Logik. +* `./scraper/fotograf_credentials.json`: **(Manuell zu erstellen!)** Diese Datei muss Ihre Login-Daten für `app.fotograf.de` im folgenden JSON-Format enthalten: + ```json + { + "PROFILNAME": { + "username": "IHR_BENUTZERNAME", + "password": "IHR_PASSWORT" + } + } + ``` + +**Ausführung über Docker:** +Das Tool wird in einer Docker-Umgebung ausgeführt, die Google Chrome und Selenium bereitstellt. + +1. **Image bauen (einmalig oder bei Änderungen an Dockerfile/requirements.txt):** + Navigieren Sie zum Root-Verzeichnis des Hauptprojekts (`/app`) und verwenden Sie das dortige `Dockerfile.brancheneinstufung`: + ```bash + cd /app + docker build -f Dockerfile.brancheneinstufung -t fotograf-scraper . + ``` + *(Hinweis: Das `Dockerfile.brancheneinstufung` verwendet die globale `requirements.txt` im Root-Verzeichnis, welche `selenium` enthält.)* + +2. **Container starten und Skript ausführen:** + Vom Root-Verzeichnis des Hauptprojekts (`/app`) aus: + ```bash + cd /app + docker run -it --rm -v "$(pwd):/app" fotograf-scraper python3 /app/ARCHIVE_vor_migration/Fotograf.de/scraper/scrape_fotograf.py + ``` + Das Skript fragt Sie interaktiv nach dem gewünschten Modus und der URL des Fotoauftrags. + + +## 2. Google Docs Teilnehmerlisten-Generator + +**Verzeichnis:** `./list_generator/` + +**Zweck:** +Ein Python-Skript, das CSV-Dateien einliest und daraus formatierte Teilnehmerlisten als neues Google Docs-Dokument im Google Drive erstellt. Das Tool ist interaktiv und fragt beim Start Details wie den Namen der Veranstaltung, den Einrichtungstyp und den Ausgabemodus ab. + +**Benötigte Dateien:** +* `./list_generator/list_generator.py`: Das Hauptskript mit der gesamten Logik. +* `./list_generator/Namensliste.csv`: **(Manuell zu erstellen!)** Eine CSV-Datei mit den Anmeldungen für Kindergärten/Schulen. +* `./list_generator/familien.csv`: **(Manuell zu erstellen!)** Eine CSV-Datei mit den Anmeldungen für Familien-Shootings. +* `./list_generator/service_account.json`: **(Manuell zu erstellen!)** Die JSON-Datei mit den Anmeldeinformationen für den Google Cloud Service Account. Diese Datei wird benötigt, um auf Google Docs und Google Drive zuzugreifen. + +**Ausführung:** +Navigieren Sie in das Verzeichnis des Tools und starten Sie es mit Python: +```bash +cd /app/ARCHIVE_vor_migration/Fotograf.de/list_generator/ +python3 list_generator.py +``` +*(Stellen Sie sicher, dass alle benötigten Python-Bibliotheken wie `google-api-python-client` etc. in Ihrer Umgebung installiert sind. Diese sind vermutlich über die globale `requirements.txt` im Root-Verzeichnis des Hauptprojekts verfügbar.)* + +## Wichtiger Hinweis zu Credentials (Sicherheit) + +Die Tools verwenden `fotograf_credentials.json` und `service_account.json` zur Authentifizierung. Diese Dateien enthalten sensitive Zugangsdaten und wurden **bewusst aus der Git-Historie entfernt** und nicht im Repository abgelegt. + +**Für die Wiederinbetriebnahme müssen diese Dateien manuell im jeweiligen Tool-Verzeichnis (`./scraper/` bzw. `./list_generator/`) erstellt und mit den korrekten Zugangsdaten befüllt werden.** + +**Priorität für die Überarbeitung:** Bei einer zukünftigen Überarbeitung dieser Tools ist es **zwingend erforderlich**, die Handhabung der Credentials zu verbessern. Statt fester JSON-Dateien sollten Umgebungsvariablen (`.env`) oder ein sicherer Secret Management Service verwendet werden, um die Sicherheitsstandards zu erhöhen.