京东商品评论API接口实战指南

一、API接入准备

1. 注册开发者账号

  • 访问京东开放平台:前往京东开放平台注册账号,完成企业或个人实名认证。
  • 创建应用 :在控制台创建应用,获取App KeyApp Secret(用于签名认证)。

2. 申请API权限

  • 搜索接口 :在API市场中搜索"商品评论"相关接口(如jingdong.ware.comment.get)。
  • 提交申请:说明使用场景(如数据分析、竞品调研),部分接口需企业资质或额外审核。

二、API调用核心技术解析

1. 接口基本信息

  • 接口名称jingdong.ware.comment.get(商品评价查询)
  • 请求方式:HTTPS GET/POST
  • 基础URLhttps://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 复制代码
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 复制代码
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 复制代码
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:商家回复内容及时间

五、注意事项

  1. 频率限制

    • 免费版:每分钟不超过200次。
    • 企业版:可申请提升配额,需联系平台。
  2. 分页处理 :通过循环page参数获取全部数据,总页数可通过total字段计算。

  3. 错误处理

    • 401:Token失效,需重新获取access_token
    • 400:参数错误,检查skuIdpage等参数。
  4. 数据清洗

    • 评论内容可能包含HTML标签,需用正则表达式清洗。
    • 图片链接需验证有效性,避免存储无效资源。

六、替代方案

  • 第三方工具 :使用Taobaoapi2014等提供的API服务,简化调用流程。
  • 数据抓取:通过合法途径模拟浏览器行为,但需遵守平台规则,避免高频请求。

通过以上步骤,您可高效接入京东商品评论API,实现评论数据的自动化获取与分析。如有疑问,可在评论区交流!

相关推荐
码农胖大海2 分钟前
前端搞基建之低代码平台再调研
前端·低代码
索西引擎35 分钟前
浅谈 Vue 的双向数据绑定
前端·vue.js
iku_ki44 分钟前
axios二次封装-单个、特定的实例的拦截器、所有实例的拦截器。
运维·服务器·前端
断竿散人1 小时前
前端救急实战:用 patch-package 解决 vue-pdf 电子签章不显示问题
前端·webpack·npm
蓝倾1 小时前
淘宝获取商品分类接口操作指南
前端·后端·fastapi
十盒半价1 小时前
深入理解 React 中的 useState:从基础到进阶
前端·react.js·trae
ccc10181 小时前
前端性能优化实践:深入理解懒加载的实现与最佳方案
前端
小希爸爸1 小时前
curl 网络测试常用方法
后端
CodeTransfer1 小时前
今天给大家搬运的是四角线框hover效果
前端·vue.js
归于尽1 小时前
别让类名打架!CSS 模块化教你给样式上 "保险"
前端·css·react.js