京东商品评论如何获取?API接口实战指南
一、API接入准备
1. 注册开发者账号
- 访问京东开放平台:前往京东开放平台注册账号,完成企业或个人实名认证。
- 创建应用:在控制台创建应用,获取App Key和App Secret(用于签名认证)。
2. 申请API权限
- 搜索接口:在API市场中搜索“商品评论”相关接口(如
jingdong.ware.comment.get
)。 - 提交申请:说明使用场景(如数据分析、竞品调研),部分接口需企业资质或额外审核。
二、API调用核心技术解析
1. 接口基本信息
- 接口名称:
jingdong.ware.comment.get
(商品评价查询) - 请求方式:HTTPS GET/POST
- 基础URL:
https://api.jd.com/routerjson
2. 必填参数
参数名 | 必填 | 说明 | 示例值 |
---|---|---|---|
app_key | 是 | 应用标识(开放平台获取) | your_app_key |
timestamp | 是 | 当前时间戳(格式:YYYY-MM-DD HH:mm:ss ) | 2025-07-21 10:00:00 |
sign | 是 | MD5签名(生成方法见下文) | A1B2C3D4E5F6G7H8 |
skuId | 是 | 商品SKU ID(从商品链接中提取) | 100012345678 |
page | 否 | 页码(默认1) | 1 |
pageSize | 否 | 每页数量(最大50) | 40 |
sortType | 否 | 排序方式(1=时间倒序,5=点赞降序) | 1 |
3. 签名生成方法
scss
体验AI代码助手
代码解读
复制代码
python def generate_sign(params, app_secret): sorted_params = sorted(params.items(), key=lambda x: x[0]) sign_str = app_secret for k, v in sorted_params: sign_str += f"{k}{v}" sign_str += app_secret return hashlib.md5(sign_str.encode()).hexdigest().upper()
三、调用示例(Python)
python
体验AI代码助手
代码解读
复制代码
python import requests import hashlib import time from urllib.parse import quote app_key = "your_app_key" app_secret = "your_app_secret" sku_id = "100012345678" def build_request_params(sku_id, page=1, page_size=10): params = { "method": "jingdong.ware.comment.get", "app_key": app_key, "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"), "format": "json", "v": "2.0", "sign_method": "md5", "skuId": sku_id, "page": page, "pageSize": page_size, "sortType": 1 # 按时间倒序 } params["sign"] = generate_sign(params, app_secret) return params def fetch_jd_comments(sku_id): all_comments = [] page = 1 while True: params = build_request_params(sku_id, page=page) response = requests.post( "https://api.jd.com/routerjson", data=params, headers={"Content-Type": "application/x-www-form-urlencoded"} ) data = response.json() if data.get("code") != 0 or not data.get("data"): break comments = data["data"].get("comments", []) if not comments: break all_comments.extend(comments) page += 1 time.sleep(1) # 避免频率过高 return all_comments # 示例调用 comments = fetch_jd_comments(sku_id) for idx, comment in enumerate(comments[:5]): # 打印前5条评论 print(f"评论{idx+1}:{comment.get('content')}")
四、响应数据解析
1. 成功响应示例
css
体验AI代码助手
代码解读
复制代码
json { "code": 0, "message": "success", "data": { "total": 12500, "page": 1, "pageSize": 10, "comments": [ { "userId": "user123456", "userNick": "京东会员_abc123", "rating": 5, "content": "手机运行流畅,拍照效果超出预期", "creationTime": "2025-06-28 14:30:22", "pictures": [ "https://img10.360buyimg.com/n1/s450x450_jfs/t1/250000/30/12345/123456/66d12345Eabcd1234/1234567890abcdef.jpg" ], "replies": [ { "replyUserId": "jd_official", "replyContent": "感谢您的认可,我们将持续优化服务", "replyTime": "2025-06-29 10:15:30" } ] } ] } }
2. 关键字段说明
content
:评论内容rating
:评分(1-5星)creationTime
:评论时间pictures
:用户上传的图片链接replies
:商家回复内容及时间
五、注意事项
频率限制:
- 免费版:每分钟不超过200次。
- 企业版:可申请提升配额,需联系平台。
分页处理:通过循环
page
参数获取全部数据,总页数可通过total
字段计算。错误处理:
401
:Token失效,需重新获取access_token
。400
:参数错误,检查skuId
、page
等参数。
数据清洗:
- 评论内容可能包含HTML标签,需用正则表达式清洗。
- 图片链接需验证有效性,避免存储无效资源。
六、替代方案
- 第三方工具:使用
Taobaoapi2014
等提供的API服务,简化调用流程。 - 数据抓取:通过合法途径模拟浏览器行为,但需遵守平台规则,避免高频请求。
通过以上步骤,您可高效接入京东商品评论API,实现评论数据的自动化获取与分析。如有疑问,可在评论区交流.