JavDB API не существует. JavDB никогда его не выпускал. Поищите «javdb api» — и получите кучу общественных скраперов, носящих это имя, каждый из которых парсит HTML, способный сломаться завтра.
Вот и вся проблема в одном предложении. И всё же стоит пройтись по тому, что реально есть в наличии, потому что вы со всем этим столкнётесь.
На что на самом деле указывает «javdb api»
Горстка репозиториев, ни одного официального, все хрупкие:
javdb-pythonоборачивает javdatabase.com, даже не javdb.com. Автор говорит прямо: функции и структура HTML — это не стабильный API. Сгодится для одноразового скрипта, но не для чего-то, что вы выпускаете.javdb-apiна npm фактически мёртв. Ни одного релиза больше года, горстка загрузок в неделю. Не стройте на нём.- Самостоятельно размещаемые скраперы вроде
ovnrain/javbus-apiдают вам Docker-контейнер, который скрапит за вас. Удобнее запускать, та же основа, и всё так же ломается, когда исходный сайт меняет свою разметку. - Инструменты для медиасерверов (Javinizer, плагин JavScraper для Emby/Jellyfin) прекрасно подходят для упорядочивания локальной библиотеки, но никогда не задумывались как API данных, который вы вызываете из своего собственного приложения.
Почему все они в итоге ломаются
Эти инструменты скрапят живой сайт, поэтому наследуют все его защиты. JavDB сидит за Cloudflare, и половине этих проектов нужен запущенный рядом FlareSolverr просто чтобы вернуть страницу. Какой-то контент (fc2) требует сессионной cookie, которую вы вставляете вручную и обновляете, когда она истекает. Переименование класса на сайте тихо ломает ваш парсер — без журнала изменений и без предупреждения, — и ваши метаданные в один прекрасный день просто становятся пустыми. А поскольку метаданные JavDB только на английском и китайском, всё, что построено на них, упускает японские поля.
Так что вы поддерживаете не одну интеграцию. Вы поддерживаете скрапер, обход через headless-браузер, cookie и пейджер на случай, когда всё это рухнет в 2 часа ночи.
Размещённая альтернатива
javinfo — это тот API, который JavDB вам так и не дал. У него есть настоящий провайдер javdb: отправьте код — получите обратно структурированные метаданные, включая ссылки на скачивание и magnet, за которыми гоняются скраперы. Тот же формат каждый раз, ничего нянчить не нужно.
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, чтобы вы этого не делали. Это одна из частей единого API метаданных JAV, покрывающего каждый источник, без привязки к источнику по своей сути — одна поддерживаемая интеграция вместо кучи хрупких скрейпов. JavDB далеко не единственный источник такого рода. DMM ещё хуже.
Зарегистрируйтесь на app.javinfo.dev, получите ключ и передавайте его в заголовке x-javinfo-key (также доступно на RapidAPI). Провайдеры javdb и missav живые на каждом запросе и возвращают полные данные без какого-либо гейтинга — тарификация по потреблению: /movie стоит $0,001 за успешный результат, /query стоит $0,0002, а при регистрации даётся 1000+ бесплатных запросов для старта, без банковской карты (дальше пополнение в USDC, зачисляется 1:1). Начать можно за минуту. Никакого Docker, никакого FlareSolverr, никаких cookie.