​​​​​​​使用 DMM Web API 获取搜索列表数据

简介: 本文详解DMM搜索列表API调用方法:介绍注册申请API ID与Affiliate ID、构造含关键词/分页/排序等参数的GET请求URL,提供Python示例代码,并解析JSON响应结构(如items、affiliateURL、价格等字段),强调URL编码、分页及错误处理要点。(239字)


DMM 平台提供了丰富的 Web API 接口,允许开发者获取其平台上的各种数据。其中一个常用的接口是用于获取搜索列表结果的 API。本文将介绍如何调用此 API 来获取商品或内容的列表信息。

一、 API 概述

该搜索列表 API 允许你根据指定的搜索条件(如关键词、类别、排序方式等)查询 DMM 平台上的商品或内容,并以结构化的数据格式(通常是 JSON 或 XML)返回匹配的结果列表。

二、 准备工作

你需要在 DMM 的开发者门户网站注册并申请 API 访问权限。
申请通过后,你将获得一个唯一的 API ID 和一个 Affiliate ID (也称为 CID)。这些是调用 API 进行身份验证所必需的。

DMM API 通常按服务类型分类(例如,视频、游戏、电子书等)。你需要确定你要查询的是哪个服务领域。
API 支持不同的输出格式,如 JSON 和 XML。你需要根据你的开发环境选择一种格式(本文以 JSON 为例)。
三、 构造 API 请求 URL

API 请求通过 HTTP GET 方法发送。URL 由基础地址、服务类型标识、API ID、Affiliate ID 以及一系列查询参数组成。基本结构如下:

https://api.dmm.com/affiliate/v3/[ServiceType]?api_id=YOUR_API_ID&affiliate_id=YOUR_AFFILIATE_ID&[QueryParameters]

[ServiceType]: 替换为具体的服务类型标识符,例如 ItemList 可能用于通用商品列表搜索,但 DMM 有更具体的分类(如 ActressSearch 用于演员搜索,FloorList 用于楼层信息等,请务必查阅官方文档确定你要用的服务类型)。对于一般的商品搜索,常见的是 ItemList 或特定类别的服务。
YOUR_API_ID: 替换为你申请到的实际 API ID。
YOUR_AFFILIATE_ID: 替换为你申请到的实际 Affiliate ID。

keyword=搜索关键词 (URL 编码)
floor_id=楼层ID (特定类别)
hits=返回结果数量
offset=结果偏移量 (用于分页)
sort=排序方式 (如 rank, date, review)
output=json (指定输出格式为 JSON)
四、 请求示例 (Python)

以下是一个使用 Python 的 requests 库调用 API 的简单示例:

import requests
import urllib.parse

替换为你的实际 ID

api_id = "YOUR_API_ID"
affiliate_id = "YOUR_AFFILIATE_ID"

基础 URL (假设服务类型为 ItemList)

base_url = "https://api.dmm.com/affiliate/v3/ItemList"

构造查询参数

params = {
"api_id": api_id,
"affiliate_id": affiliate_id,
"keyword": urllib.parse.quote("アイドル"), # 对关键词进行 URL 编码
"hits": 10, # 获取 10 条结果
"offset": 0, # 从第一条开始
"sort": "date", # 按日期排序
"output": "json" # 指定 JSON 输出
}

发送 GET 请求

response = requests.get(base_url, params=params)

检查响应状态

if response.status_code == 200:

# 解析 JSON 响应
data = response.json()
# 处理返回的数据 (data)
print(data)  # 示例:打印整个响应

else:
print(f"请求失败,状态码: {response.status_code}")
print(response.text) # 打印错误信息
五、 处理响应数据

成功的响应(状态码 200)将返回一个 JSON 对象。其结构通常包含一个 result 对象,里面存放着实际的数据。

{
"result": {
"status": "OK",
"message": "...",
"result_count": 10,
"total_count": 100,
"items": [
{
"service_code": "...",
"service_name": "...",
"floor_code": "...",
"floor_name": "...",
"content_id": "...",
"title": "...",
"URL": "...",
"affiliateURL": "...",
"sampleImageURL": { "small": "...", "large": "..." },
"prices": { "price": "...", "deliveries": { ... } },
"date": "...",
"iteminfo": { ... }
},
// ... 更多商品项
]
}
}
关键字段解释(具体字段可能因服务类型略有不同):

result.status: 请求状态,通常为 "OK" 表示成功。
result.result_count: 本次返回的结果数量。
result.total_count: 符合条件的结果总数(用于分页计算)。
result.items: 包含商品/内容详细信息的数组。
items[].content_id: 内容的唯一标识符。
items[].title: 内容标题。
items[].URL: 内容在 DMM 上的原始 URL。
items[].affiliateURL: 包含你的 Affiliate ID 的推广链接(用于推广)。
items[].sampleImageURL: 示例图片 URL (不同尺寸)。
items[].prices: 价格信息。
items[].date: 发布日期。
六、 注意事项

身份验证: 必须提供正确的 api_id 和 affiliate_id。
编码: 搜索关键词等包含非 ASCII 字符的参数需要进行 URL 编码。
分页: 使用 offset 和 hits 参数实现分页。offset 表示跳过的记录数,hits 表示本次请求获取的记录数。total_count 可用于计算总页数。
速率限制: DMM API 可能有调用频率限制,请查阅官方文档并遵守规定。
错误处理: 务必检查 HTTP 状态码和响应 JSON 中的 status 字段,以处理可能的错误(如无效参数、认证失败、超过限制等)。
官方文档: API 的具体参数、服务类型标识符、响应字段定义等细节,请务必以 DMM Affiliate (A8) 的官方开发者文档 为准,因为接口可能会更新。
七、 总结

通过调用 DMM 提供的搜索列表 API,开发者可以方便地获取平台上的商品或内容信息,用于构建自己的应用、进行数据分析或创建推广链接。关键在于正确构造包含认证信息和查询参数的请求 URL,并妥善解析返回的 JSON 数据。记得始终参考最新的官方文档进行开发。

相关文章
|
13天前
|
人工智能 自然语言处理 Shell
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
本教程指导用户在开源AI助手Clawdbot中集成阿里云百炼API,涵盖安装Clawdbot、获取百炼API Key、配置环境变量与模型参数、验证调用等完整流程,支持Qwen3-max thinking (Qwen3-Max-2026-01-23)/Qwen - Plus等主流模型,助力本地化智能自动化。
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
|
8天前
|
人工智能 安全 机器人
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI助手,支持钉钉、飞书等多平台接入。本教程手把手指导Linux下部署与钉钉机器人对接,涵盖环境配置、模型选择(如Qwen)、权限设置及调试,助你快速打造私有、安全、高权限的专属AI助理。(239字)
4818 13
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
|
9天前
|
人工智能 机器人 Linux
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI智能体,支持飞书等多平台对接。本教程手把手教你Linux下部署,实现数据私有、系统控制、网页浏览与代码编写,全程保姆级操作,240字内搞定专属AI助手搭建!
4883 17
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
|
7天前
|
人工智能 机器人 Linux
OpenClaw(Clawdbot、Moltbot)汉化版部署教程指南(零门槛)
OpenClaw作为2026年GitHub上增长最快的开源项目之一,一周内Stars从7800飙升至12万+,其核心优势在于打破传统聊天机器人的局限,能真正执行读写文件、运行脚本、浏览器自动化等实操任务。但原版全英文界面对中文用户存在上手门槛,汉化版通过覆盖命令行(CLI)与网页控制台(Dashboard)核心模块,解决了语言障碍,同时保持与官方版本的实时同步,确保新功能最快1小时内可用。本文将详细拆解汉化版OpenClaw的搭建流程,涵盖本地安装、Docker部署、服务器远程访问等场景,同时提供环境适配、问题排查与国内应用集成方案,助力中文用户高效搭建专属AI助手。
3386 8
|
11天前
|
人工智能 JavaScript 应用服务中间件
零门槛部署本地AI助手:Windows系统Moltbot(Clawdbot)保姆级教程
Moltbot(原Clawdbot)是一款功能全面的智能体AI助手,不仅能通过聊天互动响应需求,还具备“动手”和“跑腿”能力——“手”可读写本地文件、执行代码、操控命令行,“脚”能联网搜索、访问网页并分析内容,“大脑”则可接入Qwen、OpenAI等云端API,或利用本地GPU运行模型。本教程专为Windows系统用户打造,从环境搭建到问题排查,详细拆解全流程,即使无技术基础也能顺利部署本地AI助理。
7317 16
|
9天前
|
存储 人工智能 机器人
OpenClaw是什么?阿里云OpenClaw(原Clawdbot/Moltbot)一键部署官方教程参考
OpenClaw是什么?OpenClaw(原Clawdbot/Moltbot)是一款实用的个人AI助理,能够24小时响应指令并执行任务,如处理文件、查询信息、自动化协同等。阿里云推出的OpenClaw一键部署方案,简化了复杂配置流程,用户无需专业技术储备,即可快速在轻量应用服务器上启用该服务,打造专属AI助理。本文将详细拆解部署全流程、进阶功能配置及常见问题解决方案,确保不改变原意且无营销表述。
5217 5
|
11天前
|
人工智能 JavaScript API
零门槛部署本地 AI 助手:Clawdbot/Meltbot 部署深度保姆级教程
Clawdbot(Moltbot)是一款智能体AI助手,具备“手”(读写文件、执行代码)、“脚”(联网搜索、分析网页)和“脑”(接入Qwen/OpenAI等API或本地GPU模型)。本指南详解Windows下从Node.js环境搭建、一键安装到Token配置的全流程,助你快速部署本地AI助理。(239字)
4930 23
|
17天前
|
人工智能 API 开发者
Claude Code 国内保姆级使用指南:实测 GLM-4.7 与 Claude Opus 4.5 全方案解
Claude Code是Anthropic推出的编程AI代理工具。2026年国内开发者可通过配置`ANTHROPIC_BASE_URL`实现本地化接入:①极速平替——用Qwen Code v0.5.0或GLM-4.7,毫秒响应,适合日常编码;②满血原版——经灵芽API中转调用Claude Opus 4.5,胜任复杂架构与深度推理。
9396 13