京东商品评论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,实现评论数据的自动化获取与分析。如有疑问,可在评论区交流!

相关推荐
云水一下8 小时前
Vue.js从零到精通系列(五):全局状态管理——Pinia 核心与实践
前端·javascript·vue.js
江华森8 小时前
FastAPI 极速开发指南 — 从零到生产级 API 实战
数据库·fastapi
我不是外星人8 小时前
浅谈我对 AI 发展的看法
前端·ai编程·claude
码不停蹄的玄黓8 小时前
Spring Bean 生命周期
java·后端·spring
西安邮电大学9 小时前
分治算法详细讲解
java·后端·其他·算法·面试
老马聊技术9 小时前
AI对话功能之SpringBoot整合Vue3
vue.js·人工智能·spring boot·后端
甲维斯9 小时前
测一波Kimi K2.7,消耗一周配额!
前端·人工智能·游戏开发
Dick5079 小时前
ROS2 多机器人通用 Driver 层复盘:BaseRobotDriver 到多平台 Mock 切换实现
前端·javascript·机器人
武子康9 小时前
调查研究-174 什么是“红丸主义“:它为什么吸引人,又为什么容易把人带偏?
后端
神奇小汤圆9 小时前
白嫖DeepSeek V4 Pro!免费无限用,还能接入Claude-Code
后端