filmweb은(는) 무엇을 하나요?
Filmweb.pl의 JSON API에서 데이터를 가져옵니다. 의존성 없는 작은 Python CLI인 scripts/filmweb.py를 사용하며, 항상 JSON을 출력합니다.
스크립트 실행
이 스킬의 디렉터리에서 실행하세요. 사용 가능한 Python 실행기를 사용하세요:
| OS | 명령어 |
|---|---|
| Linux / macOS | python3 scripts/filmweb.py <명령어> … |
| Windows | py scripts/filmweb.py <명령어> … (또는 python) |
설치 과정이 필요하지 않습니다.
워크플로우
- Filmweb ID 가져오기.
- 사용자가 링크를 제공한 경우 →
filmweb.py id "<url>"(오프라인). ID는 슬러그의 끝 숫자입니다:filmweb.pl/film/Matrix-1999-628→628,filmweb.pl/serial/Gra+o+tron-2011-476848→476848. - 사용자가 제목을 제공한 경우 →
filmweb.py search "<title>". 결과는 관련성 순으로 정렬됩니다. 사용자가 명확히 TV 시리즈를 의미하는 경우--type=serial을 추가하세요 (또는 영화의 경우--type=film). 여러 제목이 그럴듯하게 일치하는 경우(리메이크, 속편, 영화 vs 시리즈),film으로 연도를 확인하거나 사용자에게 물어보세요.
- 사용자가 링크를 제공한 경우 →
- 질문에 필요한 것만 가져오기.
- 평점, 장르, 감독, 짧은 줄거리 →
film - "누가 나왔어…" →
cast(film에는 이미 두 명의 주요 배우가 포함됨) - "어디서 볼 수 있어…" →
vod - "언제 개봉해…" →
dates - 전체 줄거리 →
description; 사람에 대한 세부 정보 →person <personId>
- 평점, 장르, 감독, 짧은 줄거리 →
- 사용자 언어로 답변하고
film의url을 인용하세요. 평점은 소수점 한 자리로 반올림하고 투표 수를 언급하세요 (예: "7,6/10 z 872 tys. ocen"). VOD 가격은 zł로 표시하세요.
영화와 시리즈
영화, TV 시리즈 및 게임은 Filmweb에서 하나의 ID 공간을 공유하며, 모든 명령어는 이들 중 무엇이든 허용합니다 — 시리즈에도 film <id>를 사용하세요 (예: "Gra o tron"의 경우 film 476848). 출력에서 type을 확인하세요 (film, serial, …). 시리즈의 경우 year는 첫 번째 시즌이고 duration은 전체 시리즈가 아닌 한 에피소드의 길이입니다.
명령어
| 명령어 | 반환값 |
|---|---|
| `search "" [--type=film | serial |
| `film <id | url>` (영화 또는 시리즈) |
| `description <id | url>` |
| `cast <id | url> [--limit=10]` |
| `dates <id | url>` |
| `vod <id | url>` |
person <personId> | name, realName, birthDate, birthplace, height, profession, photoUrl, knownForIds, url |
id <url> | {"id": …}, 오프라인 |
필드 참조: references/output.md.
종료 코드
JSON은 stdout으로, 오류는 stderr로 {"error": "...", "type": "..."} 형식으로 출력됩니다.
| 코드 | 의미 | 조치 |
|---|---|---|
0 | 성공 | JSON 사용 |
2 | 찾을 수 없음 | 사용자에게 알리고 ID 재확인 |
64 | 잘못된 사용법 | 인자 수정 |
69 | Filmweb / 네트워크 오류 | 한 번 재시도; 지속되면 대체 방법 사용 |
대체 방법
API는 비공식적이며 변경되거나 네트워크에 의해 차단될 수 있습니다. 스크립트가 코드 69로 계속 실패하거나, 사용자가 제공하지 않는 데이터(캐릭터 이름, 리뷰, 댓글, 전체 제작진)를 필요로 하는 경우, 웹 가져오기 도구나 curl로 공개 페이지(film의 url, 또는 https://www.filmweb.pl/film/<slug>-<id>)를 가져와 데이터를 읽으세요. 사용자에게 데이터가 웹 페이지에서 왔음을 알리세요.
규칙
- "만약을 대비해" 모든 검색 결과에 대해
film을 호출하지 마세요; 필요한 후보만 확인하세요. - 스크립트가 반환하지 않은 데이터를 임의로 생성하지 마세요.