博客

作者 javinfo team

如何使用 JavLibrary 数据源:/movie 查询与裸 /query

固定 javlibrary 做番号查询,或让它兜住其他来源 miss 的裸 /query。num 可用;filter 不行。文中附精确请求形态。

javlibrary 是深度目录兜底:番号别处都找不到时很香,但若每次请求都固定它又抱怨慢,那是用错了。下面是不靠猜的调用方式。

什么时候用它

在这些情况下用 javlibrary

别把它钉成默认的「永远先试这个」来源。浏览器抓取意味着更高延迟。没有特别理由就让它排在 fan-out 最后。

它为什么存在:JavLibrary API

1. 拿到密钥

app.javinfo.dev 注册。密钥放进 x-javinfo-key。同一把密钥也适用于 RapidAPI(用他们的请求头)。

2. 完整记录:POST /movie

精确番号,完整标准化行:

影片查询
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.pageUrlextra.sampleImagessource 会是 "javlibrary"

没有磁力,没有 .m3u8 流。需要那些就固定 javdbmissav——同一套元数据结构,不同的 extras。

3. 列表搜索:POST /query

对番号和厂牌的关键词搜索。保持裸请求:

裸 query(仅 num)
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 }'

可用的:

会静默(或明确)丢掉 javlibrary 的:

在 fan-out 模式下,这些参数会跳过 javlibrary,试下一个能满足的来源。若你固定 "providers": "javlibrary" 却带上它无法满足的 filter,会得到带原因的 422——不是半猜半蒙的结果。

查询命中长这样:

Query 命中形态
{
"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 → javlibrary

省略 providers 时,只有排在它前面的全部 miss 或无法满足请求,javlibrary 才会应答。你想要这个来源——哪怕更快的也能用——就固定它。

浪费一次调用的错误

指望下载链接。 找错数据源了。用 javdb。

固定 javlibrary 的同时还发 filter.genre 422。去掉 filter,或固定支持它的来源(fanza/dmm、missav、javdatabase)。

拿它冲速度。 它排最后是有原因的。重复番号上缓存有帮助(服务端 cacheTtl 一小时),但第一次抓取仍是浏览器活。

/query 当成完整档案浏览器。 它是关键词相关度,不是类型 ∩ 厂商式的档案浏览。那种场景更接近 javdatabase

定价与下一步

成功的 /movie = $0.0005。成功的 /query = $0.0002。未命中和错误不计费。新注册 1,000+ 次免费查询。

拿密钥,跑上面的 curl,再把同一个 body 接到你的应用里。一次与数据源无关的集成——JavLibrary 只是 providers 里的又一个 id。