Was macht filmweb?
Ruft Daten von der JSON-API hinter www.filmweb.pl ab, und zwar mit einem kleinen, abhängigkeitsfreien
Python-CLI-Skript scripts/filmweb.py, das stets JSON ausgibt.
Skript ausführen
Ausführung aus dem Verzeichnis dieser Fähigkeit. Verwenden Sie den verfügbaren Python-Launcher:
| OS | Befehl |
|---|---|
| Linux / macOS | python3 scripts/filmweb.py <Befehl> … |
| Windows | py scripts/filmweb.py <Befehl> … (oder python) |
Es ist keine Installation erforderlich.
Arbeitsablauf
- Filmweb-ID ermitteln.
- Der Benutzer hat einen Link angegeben →
filmweb.py id "<url>"(offline). Die ID ist die letzte Zahl im Slug:filmweb.pl/film/Matrix-1999-628→628,filmweb.pl/serial/Gra+o+tron-2011-476848→476848. - Der Benutzer hat einen Titel angegeben →
filmweb.py search "<Titel>". Die Ergebnisse sind nach Relevanz sortiert. Fügen Sie--type=serialhinzu, wenn der Benutzer eindeutig eine Serie meint (oder--type=filmfür einen Film). Falls mehrere Titel plausibel passen (Remakes, Fortsetzungen, Film vs. Serie), überprüfen Sie diese mitfilmund wählen Sie nach Jahr aus oder fragen Sie den Benutzer.
- Der Benutzer hat einen Link angegeben →
- Nur die benötigten Daten abrufen.
- Bewertung, Genres, Regisseur, kurze Handlung →
film - "Wer spielte in… mit" →
cast(filmenthält bereits die zwei Hauptdarsteller) - "Wo kann ich… sehen" →
vod - "Wann ist die Premiere…" →
dates - vollständige Handlung →
description; Details zu einer Person →person <personId>
- Bewertung, Genres, Regisseur, kurze Handlung →
- In der Sprache des Benutzers antworten und die
urlausfilmangeben. Runden Sie die Bewertung auf eine Dezimalstelle und nennen Sie die Stimmenanzahl (z. B. „7,6/10 mit 872 Tsd. Bewertungen“). VOD-Preise in Złoty angeben.
Filme und Serien
Filme, Serien und Spiele teilen sich auf Filmweb einen ID-Raum, und jeder Befehl akzeptiert
jeden davon – verwenden Sie film <id> auch für eine Serie (z. B. film 476848 für „Game of Thrones“).
Prüfen Sie den type in der Ausgabe (film, serial, …). Bei Serien ist year die erste Staffel
und duration die Länge einer einzelnen Episode, nicht der gesamten Serie.
Befehle
| Befehl | Rückgabe |
|---|---|
| `search "" [--type=film | serial |
| `film <id | url>` (Film oder Serie) |
| `description <id | url>` |
| `cast <id | url> [--limit=10]` |
| `dates <id | url>` |
| `vod <id | url>` |
person <personId> | Name, echter Name, Geburtsdatum, Geburtsort, Größe, Beruf, Foto-URL, knownForIds, URL |
id <url> | {"id": …}, offline |
Feldreferenz: references/output.md.
Exit-Codes
JSON geht nach stdout; Fehler gehen nach stderr als {"error": "…", "type": "…"}.
| Code | Bedeutung | Maßnahme |
|---|---|---|
0 | Erfolg | JSON verwenden |
2 | Nicht gefunden | Benutzer informieren; ID überprüfen |
64 | Falsche Verwendung | Argumente korrigieren |
69 | Filmweb-/Netzwerkfehler | Einmal wiederholen; falls anhaltend, Fallback verwenden |
Fallback
Die API ist inoffiziell und kann sich ändern oder durch das Netzwerk blockiert werden. Falls das Skript
weiterhin mit Code 69 fehlschlägt oder der Benutzer Daten benötigt, die es nicht liefert (Charakternamen, Rezensionen,
Kommentare, vollständiges Team), rufen Sie die öffentliche Seite (url aus film, oder https://www.filmweb.pl/film/<slug>-<id>)
mit einem Web-Fetch-Tool oder curl ab und lesen Sie die Daten daraus. Teilen Sie dem Benutzer mit, dass die Daten von der Webseite stammen.
Regeln
- Rufen Sie
filmnicht für jeden Suchergebnis-Treffer „für alle Fälle“ auf; prüfen Sie nur die benötigten Kandidaten. - Erfinden Sie keine Daten, die das Skript nicht zurückgegeben hat.