javlibrary は深いカタログのフォールバック:他のどこにもコードが無いときに強い。毎リクエストでピン留めして遅さに驚くのは使い方を間違えている。推測なしで呼ぶ方法はこう。
いつ手を伸ばすか
javlibrary を使うのは:
- FANZA/DMM、missav、javdb、javdatabase でコードが 404 になる
- 既知の DVD ID について JavLibrary のページ URL + サンプル画像が欲しい
- 素のキーワード検索で、速いプロバイダーが役に立つ結果を返さない
デフォルトの「いつも最初に試す」ソースにはしない。ブラウザスクレイプはレイテンシが高い。理由がなければ fan-out の最後に置いたまま。
なぜあるか:JavLibrary API。
1. キーを取る
app.javinfo.dev でサインアップ。キーは x-javinfo-key へ。同じキーは RapidAPI でも、彼らのヘッダー経由で使える。
2. フルレコード:POST /movie
正確なコード、正規化された1行:
curl -X POST "https://api.javinfo.dev/movie" \ -H "x-javinfo-key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "q": "SSIS-001", "providers": "javlibrary" }'タイトル、出演、ジャンル(categories)、尺、発売日、メーカー(makers / label)、カバー(jacketFullUrl)、それに extra.pageUrl と extra.sampleImages が返る。source は "javlibrary"。
マグネットなし。.m3u8 ストリームなし。それが要るなら javdb か missav をピン留め——同じメタデータ形、違う extras。
3. リスト検索:POST /query
コードとレーベルへのキーワード検索。素のまま:
curl -X POST "https://api.javinfo.dev/query" \ -H "x-javinfo-key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "q": "SSIS", "providers": "javlibrary", "num": 10, "page": 1 }'効くもの:
q— コード断片、またはレーベル寄りのキーワードnum— ページサイズ(デフォルト 10、最大 50)。カバー補完の前にnum行へ切り詰めpage— 1 始まり;javlibrary は大きな一覧ページを返し、こちらでnumにスライス
javlibrary を静かに(またははっきり)落とすもの:
- あらゆる
filter(ジャンル、女優、尺レンジ、有碼/無碼……) relevance(またはデフォルト)以外のあらゆるsort
fan-out モードでは、これらのパラメータは javlibrary を飛ばし、次の対応プロバイダーを試す。ピン留め "providers": "javlibrary" のまま満たせない filter を付けると、部分的な当て推量ではなく理由付き 422。
クエリヒットはこんな形:
{ "q": "SSIS", "source": "javlibrary", "count": 10, "results": [ { "id": "javmezzbqu", "dvdId": "SSIS-001", "title": "Newcomer NO.1 STYLE ...", "cover": "https://...", "releaseDate": "2020-07-07", "extra": { "url": "https://www.javlibrary.com/en/..." } } ]}カバーと発売日は、コードが一致すれば DMM/FANZA インデックスからバックフィル。一覧サムネイルがフォールバック。
Fan-out とピン留め
デフォルト順(最初の完全ヒットが勝つ):
FANZA → DMM → missav → javdb → javdatabase → javlibraryproviders を省略すると、javlibrary は前の全員が miss するかリクエストを満たせないときだけ答える。速いソースでも動くのにこのソースが欲しいときはピン留め。
コールを無駄にするミス
ダウンロードリンクを期待する。 プロバイダー違い。javdb を使え。
javlibrary にピン留めしたまま filter.genre を送る。 422。filter を外すか、対応ソース(fanza/dmm、missav、javdatabase)をピン留め。
速度目的で使う。 最後なのは理由がある。繰り返しコードではキャッシュが効く(サーバー側 cacheTtl は1時間)が、初回スクレイプは依然ブラウザ仕事。
/query をフルアーカイブブラウザ扱い。 キーワード関連度であって、ジャンル ∩ スタジオ型のアーカイブではない。アーカイブ寄りの閲覧なら javdatabase の方が近い。
料金と次の一手
成功した /movie = $0.0005。成功した /query = $0.0002。ミスとエラーは課金されない。新規は 1,000 件超の無料照会。
キーを取り、上の curl を走らせ、同じ body をアプリに繋ぐ。1つの プロバイダー非依存 統合——JavLibrary は providers のまた別の id にすぎない。