首页 > 大数据 > 数据分析 > 京东获取商品评论指南,实时关注用户反馈
jingdong.ware.comment.get(商品评价查询接口)文档中心 > 商品类目属性 > jingdong.ware.comment.get。jingdong.ware.comment.get),提交使用申请,说明使用场景(如数据分析、竞品调研)。App Key和
App Secret,并签订合作协议。jingdong.ware.comment.gethttps://api.jd.com/routerjson| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
method |
String | 是 | 接口名称,固定为
jingdong.ware.comment.get |
app_key |
String | 是 | 京东开放平台分配的App Key |
timestamp |
String | 是 | 当前时间,格式
YYYY-MM-DD HH:mm:ss |
format |
String | 是 | 返回格式,固定为
json |
v |
String | 是 | API协议版本,固定为
2.0 |
sign_method |
String | 是 | 签名方法,固定为
md5 |
skuId |
String | 是 | 商品SKU ID(如
100012345678) |
page |
Integer | 是 | 页码,从1开始 |
pageSize |
Integer | 是 | 每页评论数(最大50) |
sortType |
Integer | 否 | 排序方式(1=按时间降序,2=按评分降序,默认1) |
pythondef generate_sign(params, app_secret):sorted_params = sorted(params.items(), key=lambda x: x[0])sign_str = app_secretfor k, v in sorted_params:sign_str += f"{k}{v}"sign_str += app_secretreturn hashlib.md5(sign_str.encode('utf-8')).hexdigest().upper()
pythonimport requestsimport hashlibimport timeclass JDAPI:def __init__(self, app_key, app_secret):self.app_key = app_keyself.app_secret = app_secretself.base_url = 'https://api.jd.com/routerjson'def _generate_sign(self, params):sorted_params = sorted(params.items(), key=lambda x: x[0])sign_str = self.app_secretfor k, v in sorted_params:sign_str += f"{k}{v}"sign_str += self.app_secretreturn hashlib.md5(sign_str.encode('utf-8')).hexdigest().upper()def get_comments(self, sku_id, page=1, page_size=10):params = {'method': 'jingdong.ware.comment.get','app_key': self.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'] = self._generate_sign(params)response = requests.post(self.base_url, data=params, headers={'Content-Type': 'application/x-www-form-urlencoded'})return response.json()# 使用示例if __name__ == '__main__':app_key = 'your_app_key'app_secret = 'your_app_secret'jd_api = JDAPI(app_key, app_secret)result = jd_api.get_comments('100012345678', page=1, page_size=5)print(result)
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"}]}]}}
| 字段名 | 类型 | 说明 |
|---|---|---|
content |
String | 评论内容 |
rating |
Integer | 评分(1-5星) |
creationTime |
String | 评论时间 |
pictures |
List | 用户上传的图片链接列表 |
replies |
List | 官方或用户的回复内容 |
cron或
APScheduler库设置定时任务,每小时调用一次API获取最新评论。pythonfrom apscheduler.schedulers.blocking import BlockingSchedulerdef fetch_latest_comments():latest_page = get_total_pages(sku_id) # 获取总页数for page in range(1, latest_page + 1):comments = jd_api.get_comments(sku_id, page=page)save_to_db(comments)scheduler = BlockingScheduler()scheduler.add_job(fetch_latest_comments, 'interval', hours=1)scheduler.start()
creationTime参数筛选新增评论。Matplotlib生成评论趋势图,或集成企业微信/钉钉机器人发送异常评论报警。pythonimport matplotlib.pyplot as pltdef plot_comment_trend(comments):times = [comment['creationTime'] for comment in comments]plt.plot(times, [comment['rating'] for comment in comments])plt.savefig('comment_trend.png')pythonimport reclean_content = re.sub(r'<[^>]+>', '', comment['content'])
401错误:Token失效,需重新获取
access_token。400错误:参数错误,检查
skuId、
page等字段。通过以上步骤,您可高效接入京东商品评论API,实现评论数据的自动化获取与实时监控,助力业务决策与用户体验优化。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70046834/viewspace-3094610/ ,如需转载,请注明出处,否则将追究法律责任。