博客

作者 javinfo team

英文版 FANZA / DMM API:如何拿到元数据

FANZA 唯一的 API 是只有日语的联盟数据源,而且 dmm.co.jp 对全世界进行地理封锁。下面讲讲如何用番号拿到规范化的英文 DMM/FANZA 元数据。

搜索英文版的 FANZA API 或 DMM API,你只会空手而归。它的目录是这个领域里最大的,但正门从日本以外锁上了,文书材料还全是日语。这篇文章讲清楚到底存在什么、为什么这些东西没有一个能用英文跑通,以及如何把同样的元数据以规范化 JSON 的形式拿回来。

FANZA 或 DMM 有英文 API 吗?

没有。在 affiliate.dmm.com/api 有一个联盟 API,FANZA(DMM 的成人业务分支)用的也是同一个。如果你不在日本,有两个问题让它彻底没法用:

所以“英文版 FANZA API”不是一个你配一配就能用的东西。它是一个你得先搭起来、然后还得一直看管的抓取加翻译项目。

用英文拿到 DMM/FANZA 元数据

javinfo 把地理封锁的绕过方案和规范化在服务端跑一次,然后交给你一个干净的结果。给 POST /movie 发一个 DVD 番号,让 fanza 数据源来响应:

Look up a FANZA/DMM code
curl -X POST "https://api.javinfo.dev/movie" \
-H "x-javinfo-key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "q": "SSIS-001", "providers": "fanza" }'
Response (fanza)
{
"q": "SSIS-001",
"source": "fanza",
"result": {
"dvdId": "SSIS-001",
"titleEn": "Newcomer NO.1 STYLE ...",
"titleJa": "新人 NO.1 STYLE ...",
"releaseDate": "2020-07-07",
"runtimeMins": 120,
"makers": ["S1 NO.1 STYLE"],
"actresses": ["Example Actress"],
"jacketFullUrl": "https://pics.dmm.co.jp/digital/video/ssis00001/ssis00001pl.jpg"
}
}

你会同时拿到 titleEntitleJa,所以英文是一个你直接读取的字段,而不是一个你得自己负责的翻译环节。dmm/fanza 数据源返回双语元数据 —— 标题、出演阵容、制作商、厂牌、系列、封面 —— 外加大多数抓取工具会跳过的女优资料照片和样片画廊 URL。覆盖率大约达到 dmm.co.jp 目录的 99%,而且大多数番号一次就能查到。

想要一个列表而不是单个匹配项?POST /query 接受宽泛搜索,并以相同的结构返回候选结果。

一种结构,覆盖所有数据源

无论哪个数据源做出响应,result 对象都是相同的,所以你为 FANZA 写的解析器已经能读取 JavDB、MissAV 和 javdatabase。这就是整个项目所基于的与数据源无关的设计 —— 一个规范化的 JAV 元数据 API,而不是每个数据源一套单独的集成。

app.javinfo.dev 注册、获取密钥,并通过 x-javinfo-key 请求头传入(也可在 RapidAPI 上使用)。按用量计费:/movie 每个成功结果收费 $0.0005,/query 收费 $0.0002,查询失败不计费。新用户注册即可获得 1,000+ 次免费查询,无需信用卡;之后用 USDC 充值,按 1:1 到账。不需要日本 VPN,不需要日语文档,不需要维护抓取工具。你可以在一分钟内跑起来。