一键获取京东商品评论信息,item_reviewAPI接口指南

根据京东开放平台官方文档及开发者实践,获取京东商品评论信息需通过 jd.item_review API接口 实现,具体操作指南如下:

接口基本信息

  • 接口名称:jd.item_review(商品评论列表)、jingdong.comments.list(评论详情)
  • 请求方式:HTTP GET/POST(以接口文档为准)
  • 核心参数
    • app_key:开发者应用标识(需在开放平台注册后获取)
    • sku_id:商品唯一标识符(商品ID)
    • page/page_size:分页页码及每页评论数量(最大50条/页)
    • sort_type:排序方式(1=时间倒序,2=点赞数降序)
    • timestamp:请求时间戳(格式YYYY-MM-DD HH:MM:SS)
    • sign:签名(需按京东规则生成,涉及AppSecret加密)
  • 返回数据 :JSON格式,包含评论内容(rate_content)、时间(rate_date)、用户昵称(display_user_nick)、评分(score)等字段。

调用步骤

  1. 权限申请

    • 注册京东开放平台账号,完成实名认证。
    • 创建应用,提交"数据服务"类目审核,获取AppKeyAppSecret
    • 申请"商品评论"API权限(如jd.item_review),高级接口(如评论图片/视频)需额外审核。
  2. 签名生成

    • 按字典序排序参数,拼接AppSecret后使用MD5/HMAC-SHA256加密。

    • 示例代码(Python):

      复制代码

      python

      复制代码
      `import hashlib
      params = {"method": "jd.item_review", "sku_id": "123456789", "page": 1, "page_size": 10, "timestamp": "2025-05-28 12:00:00"}
      sorted_params = sorted(params.items(), key=lambda x: x[0])
      sign_str = app_secret + "".join(f"{k}{v}" for k, v in sorted_params) + app_secret
      params["sign"] = hashlib.md5(sign_str.encode()).hexdigest().upper()
      `
  3. 请求示例

    复制代码

    python

    复制代码
    `import requests
    response = requests.get("https://api.jd.com/routerjson", params=params)
    print(response.json())  # 返回示例:{"code": "0", "message": "成功", "result": {"comments": [{"rate_content": "质量很好", "rate_date": "2025-05-20 10:30:00", "score": 5}]}}
    `

注意事项

  • 频率限制:企业账号每分钟≤200次,单日≤10万次;个人账号权限更低。
  • 数据合规:禁止爬取用户隐私数据(如完整昵称、联系方式),需脱敏处理并遵守《个人信息保护法》。
  • 错误处理:常见错误码如1001(签名错误)、1002(参数缺失),建议重试(最多3次,间隔指数退避)。
  • 替代方案:第三方服务商(如蝉妈妈、情报通)提供评论分析服务,需商业合作。

代码模板

复制代码

python

复制代码
`import requests
import hashlib

app_key = "YOUR_APP_KEY"
app_secret = "YOUR_APP_SECRET"
sku_id = "123456789"
params = {
    "method": "jd.item_review",
    "sku_id": sku_id,
    "page": 1,
    "page_size": 10,
    "sort_type": "1",
    "timestamp": "2025-05-28 12:00:00"
}

# 生成签名
sorted_params = sorted(params.items(), key=lambda x: x[0])
sign_str = app_secret + "".join(f"{k}{v}" for k, v in sorted_params) + app_secret
params["sign"] = hashlib.md5(sign_str.encode()).hexdigest().upper()

# 发送请求
response = requests.get("https://api.jd.com/routerjson", params=params)
if response.json().get("code") == "0":
    reviews = response.json()["result"]["comments"]
    for review in reviews:
        print(f"内容:{review['rate_content']}, 时间:{review['rate_date']}, 评分:{review['score']}")
else:
    print(f"错误:{response.json().get('message')}")
`

建议:优先使用京东官方API,定期关注接口变更通知,确保数据获取的合规性与稳定性。商业用途需签署授权协议,避免侵权风险。

相关推荐
染夕陌木4 分钟前
RPC/服务调用框架中“方法无法应用到给定类型”错误的通用排查指南
java·ide·rpc
地球资源数据云4 分钟前
1900-2023年中国物种分布点位矢量数据集
大数据·数据结构·数据库·数据仓库·人工智能
大大杰哥8 分钟前
String常用方法
java
楼兰公子13 分钟前
读取rpi摄像头
linux·服务器·算法
李景琰18 分钟前
Debian12安装配置Mqtt之EMQX
linux·运维·服务器
AI人工智能+电脑小能手24 分钟前
【大白话说Java面试题】【Java基础篇】第20题:HashMap在计算index的时候,为什么要对数组长度做减1操作
java·开发语言·数据结构·后端·面试·哈希算法·hash-index
嵌入式×边缘AI:打怪升级日志26 分钟前
嵌入式Linux开发(了解交叉编译工具链的组成)
java·linux·运维
sitellla28 分钟前
MySQL 入门:最流行的开源关系型数据库介绍
数据库·mysql·其他·开源
精益数智工坊30 分钟前
拆解制造业仓库物料管理流程:如何通过标准化仓库物料管理流程解决账实不符难题
大数据·前端·数据库·人工智能·精益工程
接着奏乐接着舞31 分钟前
3D Tiles tileset.jso 数据格式
运维·服务器·3d