76 lines
4.3 KiB
Markdown
76 lines
4.3 KiB
Markdown
# 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.
|