| Schlüsselthemen | Wichtige Details |
|---|---|
| 📝 Definition | Automatisieren Sie den Import von Covern und Beschreibungen von Screenscraper |
| 🎮 Hauptvorteile | Visuelle Aufwertung Ihres Frontends, Zeitersparnis von großem Wert |
| 🔧 Funktionsweise | Abfragen über die API, Verknüpfen von Metadaten und Bildern |
| ⚙️ Voraussetzungen | Installieren Sie Python, konfigurieren Sie Ihren Screenscraper-API-Schlüssel |
| 🚀 Wichtige Schritte | Starten Sie das Skript, testen Sie das Ergebnis, validieren Sie die Dateien |
| 📂 Organisation | Strukturieren Sie die Ordner für jedes System |
| 🛠️ Werkzeuge | Verwenden Sie ein leichtes Python-Skript und einen Cronjob zur Automatisierung |
Dieses Tutorial führt Sie Schritt für Schritt durch die Konfiguration von Screenscraper und die automatische Integration von Covern und Beschreibungen in Ihre Retrogaming-Oberfläche. Mit wenigen Befehlen und einfachen Einstellungen können Sie Ihr Frontend visuell aufwerten und gleichzeitig präzise Informationen zu jedem Spiel erhalten. Am Ende wird ein Cronjob den Vorgang ohne manuelles Eingreifen starten.
Somaire
Voraussetzungen und Installation von Screenscraper
Stellen Sie zunächst sicher, dass Sie ein gültiges Konto bei Screenscraper und einen API-Schlüssel besitzen. Außerdem benötigen Sie eine Python 3.7+ Umgebung auf Ihrem Rechner oder Server.
Um das dedizierte Python-Modul zu installieren, führen Sie aus:
pip install screenscraper-api
Überprüfen Sie anschließend, ob die Bibliothek korrekt reagiert:
python -c "import screenscraper; print(screenscraper.__version__)". Falls ein Fehler auftritt, installieren oder aktualisieren Sie pip.
Konfiguration des Import-Skripts
Das Python-Skript dient als Brücke zwischen der Screenscraper-API und Ihrem Retrogaming-Frontend. Es ruft Cover und Beschreibungen ab und legt sie in dedizierten Ordnern ab.
Verbindung zur Screenscraper-API
Holen Sie Ihren Schlüssel aus Ihrem persönlichen Screenscraper-Bereich und speichern Sie ihn in einer Umgebungsvariable:
export SCREENSCRAPER_KEY="votre_cle"
Anschließend in Ihrem Skript:
from screenscraper import ScreenScraperAPI
api = ScreenScraperAPI(key=os.getenv("SCREENSCRAPER_KEY"))
Sie sind nun bereit, die API abzufragen.
Anpassung von Filtern und Formaten
Um das Ergebnis anzupassen, können Sie folgende Angaben machen:
- Bildgröße (small, medium, large)
- Sprache der Beschreibungen (fr, en, it)
- Zielplattform (nes, snes, arc)
- Ausgabeformate (png, jpg, txt)
Diese Optionen werden als Parameter übergeben:
api.get_game_data(game_id, image_size='medium', language='fr')
Testen Sie verschiedene Konfigurationen, um die beste Integration in Ihr Theme zu finden.
Integration in Ihr Retrogaming-Frontend
Nachdem die Dateien abgerufen wurden, müssen sie organisiert und der korrekte Pfad in Ihrem Frontend-Code aufgerufen werden. Die Idee ist, den Speicherort für jeden Titel zu standardisieren.
Organisation von Covern und Beschreibungen
Beachten Sie eine klare Ordnerstruktur:
| Ordner | Inhalt |
|---|---|
| images/ | Cover benannt nach Spiel-ID (.png) |
| descriptions/ | Textdateien nach Spiel-ID (.txt oder .md) |
| scripts/ | Python-Importcode |
Dies ermöglicht es dem Frontend, über dieselbe ID zu iterieren und Cover sowie zugehörige Beschreibung dynamisch anzuzeigen.
Automatisierung über eine Cron-Job
Um den Import periodisch zu starten, erstellen Sie einen Cron-Eintrag:
0 3 * * * /usr/bin/python3 /home/user/scripts/import_screenscraper.py >> /var/log/ss_import.log 2>&1
Dieser Job wird jede Nacht um 3 Uhr ausgeführt. Sie können die Frequenz nach Ihren Bedürfnissen anpassen.
Tipp: Überwachen Sie die Logs, um API-Fehler oder Schemaänderungen auf der Screenscraper-Seite schnell zu beheben.
Tests, Debugging und bewährte Praktiken
Ein automatisierter Import kann auf Probleme mit abgelaufenen Schlüsseln, geänderten Formaten oder überschrittenen Kontingenten stoßen. Hier einige Hinweise, um betriebsbereit zu bleiben:
- Überprüfen Sie regelmäßig die Gültigkeit Ihres API-Schlüssels
- Implementieren Sie ein Retry-System mit Backoff bei Fehler 429
- Führen Sie eine Versionshistorie, um zurückkehren zu können
- Bereinigen Sie alte, nicht referenzierte Dateien
- Validieren Sie manuell einige Cover nach jeder Bereitstellung
- Richten Sie eine Alarmierung bei kritischen Fehlercodes ein
- Testen Sie lokal, bevor Sie in Produktion gehen
- Dokumentieren Sie jede Änderung am Skript
Wichtig zu merken
- Erstellen Sie ein Screenscraper-Konto und holen Sie Ihren API-Schlüssel
- Installieren Sie das dedizierte Python-Modul und testen Sie die Verbindung
- Passen Sie die Filter (Größe, Sprache, Plattform) an
- Organisieren Sie Cover und Beschreibungen in einer klaren Ordnerstruktur
- Automatisieren Sie mit einem Cron und überwachen Sie die Logs
- Planen Sie Retry- und Alarmstrategien ein
FAQ
- Wie erhalte ich meinen Screenscraper API-Schlüssel?
Melden Sie sich bei Ihrem Konto auf der Screenscraper-Website an, gehen Sie zu „Mein Konto“ und dann zu „API“, um Ihren Schlüssel zu generieren oder zu kopieren. - Welche Systeme werden von Screenscraper unterstützt?
Die Plattform deckt über 200 Systeme ab, von 8-Bit-Konsolen bis hin zu Arcade-Automaten und neueren Geräten. - Kann ich mehrere Beschreibungssprachen abrufen?
Ja: Ändern Sie einfach den Parameterlanguagebeim Aufruf vonget_game_data(z. B. „en“ oder „it“). - Wie verwalte ich API-Kontingente?
Überwachen Sie die Antwort-Header, um Ihren Verbrauch zu kennen, und implementieren Sie ein Backoff-System, um Fehler 429 zu vermeiden. - Kann das Skript vorhandene Cover ersetzen?
Absolut: Sie können die Optionoverwrite=Truehinzufügen, um vorherige Dateien zu überschreiben. - Was tun, wenn Cover fehlen?
Identifizieren Sie die nicht zurückgegebenen IDs, testen Sie manuell auf der Screenscraper-Website und ergänzen Sie bei Bedarf manuell.