京东平台商品评论接口接入指南与代码实现
接口概述
京东商品评论接口(以下简称「评论接口」)可用于获取指定商品的用户评价数据,包括评论内容、评分、用户昵称、时间戳等信息。该接口需通过京东开放平台(JOS)申请权限并完成认证后调用。
接口基础信息
接口地址:https://api.jd.com/routerjson
请求方式:POST
数据格式:JSON
认证方式:API Key + Signature
快速接入步骤
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值
2. 分页处理
通过循环调用实现全量获取:
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批量处理
实现定时增量同步
对评论文本进行情感分析等扩展处理
可根据实际场景调整分页策略和异常处理逻辑,建议参考京东官方API文档获取最新接口规范。
希望这篇技术文章对您的开发工作有所帮助!如需进一步优化或添加特定功能说明,请随时告知。