京东平台商品评论接口接入指南与代码实现
接口概述
京东商品评论接口(以下简称「评论接口」)可用于获取指定商品的用户评价数据,包括评论内容、评分、用户昵称、时间戳等信息。该接口需通过京东开放平台(JOS)申请权限并完成认证后调用。
接口基础信息
接口地址:https://api.jd.com/routerjson
请求方式:POST
数据格式:JSON
认证方式:API Key + Signature
快速接入步骤
京东商品评论接口接入全攻略
1. 前期准备工作
- 注册京东开放平台账号,开启电商API开发之旅
- 创建应用,获取专属的
app_key
和app_secret
- 申请「商品评论接口」权限,解锁数据获取能力
2. 请求参数详解
python
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" # 签名参数,确保请求安全 |
} |
3. Python代码示例
签名生成函数
python
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
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)) |
4. 响应数据结构
成功响应示例
json
{ |
"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 |
}, |
// 更多评论数据... |
] |
} |
} |
5. 关键技术点解析
签名机制
京东API采用MD5签名算法,确保请求安全:
- 按参数名称升序排列,保证一致性
- 拼接为
app_secret+key1value1key2value2...+app_secret
格式 - 生成32位大写MD5值,作为签名
分页处理
通过循环调用实现全量获取,满足大数据量需求:
python
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 |
6. 注意事项
- 频率限制:普通应用默认QPS≤50,需合理控制请求频率
- 缓存策略:建议本地缓存高频商品评论,提高访问速度
- 异常处理:需处理
1004(签名错误)
、1011(频率超限)
等错误码 - 字段说明:注意用户昵称等字段包含脱敏星号(*),保护用户隐私
7. 总结
通过本文介绍的方法,开发者可快速接入京东商品评论接口,获取宝贵用户反馈。根据业务需求,建议:
- 添加自动重试机制,提高接口调用稳定性
- 结合商品ID批量处理,提高数据获取效率
- 实现定时增量同步,保持数据最新性
- 对评论文本进行情感分析等扩展处理,挖掘数据价值
可根据实际场景调整分页策略和异常处理逻辑,建议参考京东官方API文档获取最新接口规范。希望这篇技术文章对您的开发工作有所帮助!如需进一步优化或添加特定功能说明,请随时告知,小编必回。