京东平台商品评论接口接入指南与代码实现

74 阅读3分钟

接口概述

京东商品评论接口(以下简称「评论接口」)可用于获取指定商品的用户评价数据,包括评论内容、评分、用户昵称、时间戳等信息。该接口需通过京东开放平台(JOS)申请权限并完成认证后调用。

接口基础信息 接口地址‌:api.jd.com/routerjson 请求方式‌:POST 数据格式‌:JSON 认证方式‌:API Key + Signature 快速接入步骤

9cf33d5494a747078d391cacc4b8f7c3.png

  1. 准备工作 注册京东开放平台账号 创建应用获取 app_key 和 app_secret 申请「商品评论接口」权限
  2. 请求参数说明 python Copy Code params = { "method": "jingdong.newware.verticalcomment.search", # 固定方法名 "app_key": "YOUR_APP_KEY", # 应用标识 "access_token": "USER_ACCESS_TOKEN", # 用户授权令牌 "timestamp": "2023-07-25 14:30:00", # 请求时间 "v": "2.0", # API版本 "skuId": 123456789, # 商品SKUID "page": 1, # 页码 "pageSize": 10, # 每页数量 "sign": "GENERATED_SIGNATURE" # 签名参数 }

Python 代码示例 签名生成函数 python Copy Code import hashlib import time

def generate_sign(params, app_secret): sorted_params = sorted(params.items()) query_str = app_secret + ''.join([f"{k}{v}" for k, v in sorted_params]) + app_secret return hashlib.md5(query_str.encode()).hexdigest().upper()

调用接口示例 python Copy Code import requests import json

def get_jd_comments(sku_id, page=1, page_size=10): app_key = "YOUR_APP_KEY" app_secret = "YOUR_APP_SECRET"

base_params = {
    "method": "jingdong.newware.verticalcomment.search",
    "app_key": app_key,
    "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
    "v": "2.0",
    "skuId": sku_id,
    "page": page,
    "pageSize": page_size
}

# 生成签名
base_params["sign"] = generate_sign(base_params, app_secret)

# 发送请求
response = requests.post(
    url="https://api.jd.com/routerjson",
    data=base_params,
    headers={"Content-Type": "application/x-www-form-urlencoded"}
)

if response.status_code == 200:
    return response.json()
else:
    return {"error": f"Request failed with status {response.status_code}"}

示例调用

comments_data = get_jd_comments(sku_id=100000123456) print(json.dumps(comments_data, indent=2, ensure_ascii=False))

响应数据结构

成功响应示例:

json Copy Code { "code": 0, "message": "success", "data": { "total": 1500, "page": 1, "comments": [ { "userNick": "jd_***def", "content": "商品质量非常好,物流速度快", "score": 5, "commentTime": "2023-07-20 14:30:12", "replyCount": 2, "usefulVoteCount": 15 }, // 更多评论数据... ] } }

关键技术点解析

  1. 签名机制

京东API使用MD5签名算法:

按参数名称升序排列 拼接为 app_secret+key1value1key2value2...+app_secret 格式 生成32位大写MD5值

  1. 分页处理

通过循环调用实现全量获取:

python Copy Code def get_all_comments(sku_id): all_comments = [] page = 1 while True: result = get_jd_comments(sku_id, page=page) if not result.get("data") or not result["data"].get("comments"): break all_comments.extend(result["data"]["comments"]) page += 1 return all_comments

注意事项 频率限制:普通应用默认QPS≤50 缓存策略:建议本地缓存高频商品评论 异常处理:需处理 1004(签名错误)、1011(频率超限) 等错误码 字段说明:注意用户昵称等字段包含脱敏星号(*) 总结

通过本文介绍的方法,开发者可快速接入京东商品评论接口。建议根据业务需求:

添加自动重试机制 结合商品ID批量处理 实现定时增量同步 对评论文本进行情感分析等扩展处理