¿Qué hace filmweb?
Obtiene datos de la API JSON detrás de www.filmweb.pl utilizando un pequeño script
Python sin dependencias, scripts/filmweb.py, que siempre imprime JSON.
Ejecutar el script
Ejecútalo desde el directorio de esta habilidad. Usa el lanzador de Python que esté disponible:
| SO | Comando |
|---|---|
| Linux / macOS | python3 scripts/filmweb.py <comando> … |
| Windows | py scripts/filmweb.py <comando> … (o python) |
No se requiere ningún paso de instalación.
Flujo de trabajo
- Obtén el ID de Filmweb.
- El usuario proporcionó un enlace →
filmweb.py id "<url>"(sin conexión). El ID es el número al final del slug:filmweb.pl/film/Matrix-1999-628→628,filmweb.pl/serial/Gra+o+tron-2011-476848→476848. - El usuario proporcionó un título →
filmweb.py search "<título>". Los resultados están ordenados por relevancia. Añade--type=serialcuando el usuario se refiera claramente a una serie de TV (o--type=filmpara una película). Si varios títulos coinciden de manera plausible (remakes, secuelas, película vs. serie), verifícalos confilmy elige por año, o pregunta al usuario.
- El usuario proporcionó un enlace →
- Obtén solo lo que la pregunta necesita.
- calificación, géneros, director, argumento corto →
film - "quién actuó en…" →
cast(filmya tiene los dos actores principales) - "dónde puedo ver…" →
vod - "cuándo es el estreno…" →
dates - argumento completo →
description; detalles sobre una persona →person <personId>
- calificación, géneros, director, argumento corto →
- Responde en el idioma del usuario y cita la
urldefilm. Redondea la calificación a un decimal y menciona el número de votos (ej. "7,6/10 con 872 mil valoraciones"). Indica los precios de VOD en zł.
Películas y series
Las películas, series de TV y videojuegos comparten un mismo espacio de IDs en Filmweb, y cada comando acepta
cualquiera de ellos — usa film <id> también para una serie (ej. film 476848 para "Juego de Tronos").
Verifica el campo type en la salida (film, serial, …). Para series, year es la primera temporada
duration es la duración de un episodio, no de la serie completa.
Comandos
| Comando | Devuelve |
|---|---|
| `search "" [--type=film | serial |
| `film <id | url>` (película o serie) |
| `description <id | url>` |
| `cast <id | url> [--limit=10]` |
| `dates <id | url>` |
| `vod <id | url>` |
person <idPersona> | nombre, nombreReal, fechaNacimiento, lugarNacimiento, altura, profesión, urlFoto, idsConocidoPor, url |
id <url> | {"id": …}, sin conexión |
Referencia de campos: references/output.md.
Códigos de salida
El JSON va a la salida estándar; los errores van a la salida de error estándar como {"error": "…", "type": "…"}.
| Código | Significado | Qué hacer |
|---|---|---|
0 | éxito | usa el JSON |
2 | no encontrado | indícaselo al usuario; verifica el ID |
64 | mal uso | corrige los argumentos |
69 | error de Filmweb / red | reintenta una vez; si persiste, usa el método alternativo |
Método alternativo (fallback)
La API no es oficial y puede cambiar o ser bloqueada por la red. Si el script falla repetidamente
con el código 69, o el usuario necesita datos que no proporciona (nombres de personajes, reseñas,
comentarios, equipo técnico completo), obtén la página pública (url de film, o https://www.filmweb.pl/film/<slug>-<id>)
con una herramienta de extracción web o curl y lee los datos de ella. Informa al usuario de que los datos provienen de la página web.
Reglas
- No llames a
filmpara cada resultado de búsqueda "por si acaso"; verifica solo los candidatos que necesites. - No inventes datos que el script no devolvió.