JavDB API는 없습니다. JavDB는 한 번도 내놓은 적이 없습니다. “javdb api”를 검색하면 그 이름을 빌린 커뮤니티 스크레이퍼 더미가 나오는데, 하나같이 내일이라도 망가질 수 있는 HTML을 파싱하고 있습니다.
그게 한 문장으로 압축한 문제 전부입니다. 그래도 실제로 무엇이 나와 있는지 짚어볼 가치는 있습니다. 결국 다 마주치게 될 테니까요.
”javdb api”가 실제로 가리키는 것
공식이 아니고 모두 취약한 몇몇 저장소들:
javdb-python은 javdb.com이 아니라 javdatabase.com을 감쌉니다. 작성자가 대놓고 말합니다. 함수와 HTML 구조는 안정적인 API가 아니라고요. 일회용 스크립트에는 괜찮지만, 출시하는 무언가에는 아닙니다.- npm의
javdb-api는 사실상 죽었습니다. 1년 넘게 릴리스가 없고, 주당 다운로드는 손에 꼽습니다. 그 위에 빌드하지 마세요. ovnrain/javbus-api같은 셀프호스트 스크레이퍼는 당신을 대신해 스크레이핑하는 Docker 컨테이너를 건네줍니다. 운영은 더 편하지만 토대는 같고, 소스 사이트가 마크업을 바꾸면 여전히 망가집니다.- 미디어 서버 도구(Javinizer, Emby/Jellyfin JavScraper 플러그인)는 로컬 라이브러리를 정리하는 데는 훌륭하지만, 당신의 앱에서 호출하는 데이터 API로 의도된 적은 없습니다.
왜 결국 다 망가지는가
이 도구들은 살아 있는 웹사이트를 스크레이핑하므로, 그 웹사이트가 가진 모든 방어를 그대로 물려받습니다. JavDB는 Cloudflare 뒤에 있고, 이 프로젝트들의 절반은 페이지 하나를 받아오려고 FlareSolverr를 옆에서 같이 돌려야 합니다. 일부 콘텐츠(fc2)는 손으로 직접 붙여넣고 만료되면 갱신해야 하는 세션 쿠키가 필요합니다. 사이트의 클래스 이름 변경 하나가 변경 이력도 경고도 없이 당신의 파서를 조용히 망가뜨리고, 어느 날 메타데이터가 그냥 텅 비어버립니다. 그리고 JavDB의 메타데이터는 영어와 중국어뿐이라, 그 위에 빌드한 것은 무엇이든 일본어 필드를 놓칩니다.
그래서 당신은 통합 하나를 유지보수하는 게 아닙니다. 스크레이퍼, 헤드리스 브라우저 우회, 쿠키, 그리고 새벽 2시에 다 무너졌을 때를 위한 호출기를 유지보수하게 됩니다.
호스팅 대안
javinfo는 JavDB가 결코 주지 않은 그 API입니다. 실제로 javdb 프로바이더가 있습니다. 코드를 보내면 구조화된 메타데이터가 돌아오는데, 여기에는 스크레이퍼들이 노리는 다운로드 링크와 마그넷 링크가 포함됩니다. 매번 같은 형태, 돌볼 것 없음.
curl -X POST "https://api.javinfo.dev/movie" \ -H "x-javinfo-key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "q": "CAWD-001", "providers": "javdb" }'{ "q": "CAWD-001", "source": "javdb", "result": { "dvdId": "CAWD-001", "runtimeMins": 120, "extra": { "downloadLinks": [ { "name": "CAWD-001 1080p", "magnet": "magnet:?xt=urn:btih:...", "size": 5905580032, "hd": true } ], "score": 4.3, "voteCount": 512 } }}모든 공급자는 동일한 result 형태에 매핑되므로, 어느 소스가 응답하든 result.*를 같은 방식으로 읽습니다. 스크레이핑과 Cloudflare 대응은 우리가 맡습니다. 이는 모든 소스를 아우르는 단일 JAV 메타데이터 API의 한 부분이며, 처음부터 공급자에 묶이지 않도록 설계되었습니다. 부서지기 쉬운 스크레이퍼 더미 대신 유지보수되는 통합 하나만 두는 방식입니다. JavDB만 이런 소스인 것도 아닙니다. DMM은 더 심합니다.
app.javinfo.dev에서 가입하고 키를 받아 x-javinfo-key 헤더로 전달하세요(RapidAPI에서도 이용할 수 있습니다). javdb 프로바이더와 그 다운로드 링크는 missav와 마찬가지로 모든 요청에서 라이브로, 데이터는 완전하고 게이팅이 없습니다. 과금은 사용량 방식입니다. /movie는 성공한 결과당 $0.001, /query는 $0.0002이며, 신규 가입 시 시작용으로 1,000회 이상의 무료 조회가 주어지고 신용카드는 필요 없습니다(이후에는 USDC로 충전하며 1:1로 적립됩니다). 1분 만에 실행할 수 있습니다. Docker도, FlareSolverr도, 쿠키도 필요 없습니다.