京东商品评论 API:全品类评价数据获取与解析指南
一、京东开放平台评论 API 概述
京东作为国内主流电商平台,通过开发者提供商品评论数据接口。该 API 支持全品类商品(如电子产品、美妆、家居等)的评价数据获取,主要用于品牌舆情分析、竞品调研、用户反馈收集等场景。
核心功能包括:联系方式V:18179018113
获取指定商品的全部评论及评分分布
解析用户评论内容、发布时间、用户等级、购买信息等维度
支持分页查询、按评分 / 时间筛选等条件过滤
二、API 接入准备与权限申请
评论 API 权限申请
在 “API 市场” 搜索 “商品评论” 相关接口(如 “商品评价查询”“评价详情获取”),提交使用申请。
申请时需说明用途(如学术研究、商业分析),部分高级接口需企业资质或额外审核。
三、API 调用核心技术解析
1. 接口调用方式与参数
以 “商品评价查询” 接口为例(接口地址以官方文档为准):
请求方式:HTTPS GET/POST
请求参数示例:
{
"skuId": "100012345678", # 商品SKU ID
"page": 1, # 页码
"pageSize": 10, # 每页评论数(最大50)
"score": 0, # 评分筛选(0=全部,1-5=指定评分)
"sortType": 2, # 排序方式(1=按时间降序,2=按评分降序)
"isShadowSku": 0, # 是否查询子SKU评论
"accessToken": "your_token" # 认证令牌
}
AI写代码
2. 身份认证与签名机制
京东 API 采用OAuth 2.0认证,需通过以下步骤获取 AccessToken:
使用 AppKey 和 AppSecret 获取临时授权码(code);
通过 code 换取 AccessToken(有效期通常 2 小时,需定时刷新);
每次 API 请求需在 Header 中携带 AccessToken,并按官方规则生成签名(避免请求被拦截)。
3. 响应数据结构与解析
返回数据(JSON 格式)示例:
{
"code": "0",
"message": "成功",
"data": {
"commentCount": 10000, # 总评论数
"scoreSummary": { # 评分汇总
"goodRate": 98.5, # 好评率(%)
"goodCount": 9850, # 好评数
"generalCount": 100, # 中评数
"poorCount": 50 # 差评数
},
"comments": [ # 评论列表
{
"content": "商品质量很好,物流很快...", # 评论内容
"creationTime": "2025-06-19 10:30:00", # 评论时间
"score": 5, # 评分
"userLevelName": "钻石会员", # 用户等级
"userProvince": "北京", # 所在省份
"hasImage": true, # 是否有图片
"images": ["http://img.jd.com/1.jpg"] # 图片链接
},
// 更多评论...
]
}
}
AI写代码
解析要点:
通过comments字段遍历单条评论,提取文本、评分、用户信息等;
利用scoreSummary分析整体评分分布,支持可视化展示(如好评率柱状图);
评论内容可能包含 HTML 标签或特殊符号,需进行清洗(如使用正则表达式去除标签)。
四、高效数据获取策略
1. 批量与分页处理
单接口单次最多获取 50 条评论,对于高评论量商品(如手机、家电),需通过分页参数page循环获取(总页数 = 总评论数 /pageSize)。
示例代码(Python):
import requests
import json
import time
def get_jd_comments(sku_id, page_size=50):
all_comments = []
page = 1
while True:
params = {
"skuId": sku_id,
"page": page,
"pageSize": page_size,
"accessToken": "your_token"
}
response = requests.get("https://api.jd.com/comment", params=params)
data = response.json()
all_comments.extend(data["data"]["comments"])
# 检查是否有下一页(部分接口通过总评论数判断)
if len(data["data"]["comments"]) < page_size:
break
page += 1
time.sleep(1) # 避免请求频率过高
return all_comments
AI写代码
2. 频率控制与反爬应对
京东对 API 调用频率有限制(如企业账号每分钟不超过 200 次),超出可能触发封禁,需通过time.sleep()控制间隔。
请求头需模拟浏览器环境(添加User-Agent、Referer等字段),避免被识别为爬虫。
3. 增量更新与数据去重
对于持续监控场景,可通过creationTime参数只获取新增评论,减少重复请求。
利用评论 ID(如id字段)进行去重,避免重复存储数据。
五、数据解析与应用扩展
1. 评论情感分析
通过自然语言处理(NLP)技术对评论内容进行情感分类:
正向情感:“质量好”“推荐购买”
负向情感:“物流慢”“有瑕疵”
工具推荐:使用 Python 的jieba分词 +TextBlob或自定义情感词典。
2. 高频词提取与热点挖掘
提取评论中出现频率高的词汇(如 “续航”“屏幕”“性价比”),分析用户关注焦点。
示例:使用wordcloud库生成词云图,直观展示用户反馈关键词。
3. 多维度交叉分析
按用户等级(钻石会员 / 普通用户)、购买时间、地区等维度分组,分析不同群体的评价差异。
六、注意事项与合规说明
API 使用限制:
个人开发者权限低于企业账号,部分接口(如实时评论)仅对企业开放;
数据不得用于非法用途(如恶意营销、侵犯用户隐私),需遵守《京东开放平台开发者协议》。
接口变更与维护:
京东可能不定期调整 API 参数或权限,需定期查看更新;
建议添加错误处理机制(如捕获网络异常、解析 JSON 错误),确保程序稳定性。
替代方案参考:
若官方 API 无法满足需求(如需要历史全量数据),可通过合法爬虫获取,但需严格遵守平台 robots 协议,避免高频请求。
通过以上技术解析,开发者可高效获取京东全品类商品评论数据,并结合业务场景进行深度分析(如产品优化、竞品监控、用户画像构建等)。实际应用中需持续关注 API 规则变化,确保数据获取的合规性与稳定性。