淘宝商品评论 API 返回数据参考(附解析与实战示例)

简介: 淘宝商品评论 API(核心接口如 taobao.item.review.get)是获取商品用户评价数据的官方通道,返回数据以 JSON 格式为主,结构规范且字段丰富,涵盖评论基础信息、用户画像、内容详情、多媒体信息等维度。本文将拆解通用返回结构、核心字段含义、多场景示例及解析注意事项,为开发者提供完整的数据参考指南。

淘宝商品评论 API(核心接口如 taobao.item.review.get)是获取商品用户评价数据的官方通道,返回数据以 JSON 格式为主,结构规范且字段丰富,涵盖评论基础信息、用户画像、内容详情、多媒体信息等维度。本文将拆解通用返回结构、核心字段含义、多场景示例及解析注意事项,为开发者提供完整的数据参考指南。

一、通用返回数据结构(成功 / 失败统一规范)

淘宝开放平台所有 API 均遵循统一的响应格式,评论 API 也不例外,分为 成功响应失败响应 两种结构,便于开发者封装通用解析逻辑。

1. 成功响应通用格式

json

{
  "code": 0,
  "msg": "success",
  "request_id": "123456789abcdef",
  "resp_data": {
    "item_review_get_response": {
      "total_results": 1250,
      "reviews": [
        {
          // 单条评论核心数据
        }
      ],
      "request_id": "123456789abcdef"
    }
  }
}
  • 顶层关键字段说明
  • code: 状态码,0 表示成功,非 0 为失败;
  • msg: 状态描述,成功为 success
  • request_id: 全局请求唯一标识,用于问题排查;
  • resp_data.item_review_get_response: 业务响应体,名称与接口名强关联;
  • total_results: 商品评论总条数,用于分页计算;
  • reviews: 评论数据数组,单页默认返回 20 条,可通过入参 page_size 调整(最大 100)。

2. 失败响应通用格式

json

{
  "code": 40,
  "msg": "error",
  "request_id": "123456789abcdef",
  "resp_data": {
    "error_response": {
      "code": 40,
      "msg": "签名错误",
      "sub_code": "isv.invalid-sign",
      "sub_msg": "签名参数不正确,请检查签名生成逻辑"
    }
  }
}
  • 错误关键字段说明
  • code: 顶层错误码,与业务错误码一致;
  • sub_code: 精准错误类型标识(如 isv.invalid-sign 签名错误、isv.api-rate-limit-exceeded 限流);
  • sub_msg: 具体错误原因,用于定位问题。

二、单条评论核心字段解析(以 taobao.item.review.get 为例)

reviews 数组中的单条评论数据是解析核心,涵盖 基础标识、用户信息、评论内容、多媒体、时效 五大类字段,以下是完整示例及字段说明。

1. 单条评论完整数据示例

json

{
  "id": "9876543210abcdef",
  "num_iid": "689712345678",
  "user_nick": "tbNick123456",
  "user_id": "123456789",
  "user_level": "V3",
  "user_vip": true,
  "content": "纯棉材质很舒服,尺码标准,洗了不缩水,夏天穿透气!",
  "created": "2025-05-10 14:30:00",
  "modified": "2025-05-11 09:15:00",
  "rate": 5,
  "rate_content": "好评",
  "has_more": true,
  "more_content": "穿了一周再来追评,版型宽松不挑身材,搭牛仔裤超好看!",
  "pic_num": 3,
  "pic_urls": [
    "https://img.alicdn.com/imgextra/i1/123456789/O1CN01abcdef123456_!!0-review.jpg",
    "https://img.alicdn.com/imgextra/i2/123456789/O1CN01abcdef123457_!!0-review.jpg",
    "https://img.alicdn.com/imgextra/i3/123456789/O1CN01abcdef123458_!!0-review.jpg"
  ],
  "spec_info": "颜色:白色;尺寸:L",
  "useful_vote": 25,
  "reply": "感谢亲的认可,我们会继续努力做好品质~",
  "reply_created": "2025-05-10 16:20:00"
}

2. 核心字段分类说明

字段分类 字段名 含义说明 数据类型 核心用途
基础标识 id 评论唯一 ID,不可重复 字符串 去重、增量采集的核心标识
num_iid 商品 ID,关联评论所属商品 字符串 多商品评论数据归类
用户信息 user_nick 用户昵称(已脱敏,如 tbNick123456 字符串 用户画像分析
user_id 用户唯一标识(部分接口需申请权限才能获取) 字符串 精准用户行为追踪
user_level 用户等级(如 V1-V6) 字符串 高价值用户评论权重分析
user_vip 是否为淘宝 VIP 用户 布尔值 区分普通 / 付费用户评价倾向
评论内容 content 评论正文 字符串 舆情分析、商品优缺点提取
rate 评分(1-5 星,5 星为好评,1 星为差评) 整数 商品评分统计、口碑计算
rate_content 评分标签(如 “好评”“中评”“差评”) 字符串 快速分类评论倾向
has_more 是否有追评 布尔值 识别深度评价用户
more_content 追评内容(has_more=true 时才有值) 字符串 长期使用反馈分析
多媒体信息 pic_num 晒图数量 整数 评估评论真实性(晒图评论可信度更高)
pic_urls 晒图链接数组(高清图,可直接下载) 数组 商品真实展示素材收集、买家秀运营
时效与互动 created 评论发布时间(格式:YYYY-MM-DD HH:MM:SS) 字符串 增量采集时间筛选、评论热度趋势分析
modified 评论修改时间(用户编辑评论后更新) 字符串 识别用户评价态度变化
useful_vote 评论有用投票数(其他用户点赞数) 整数 高价值评论筛选(点赞多的评论更具参考性)
其他信息 spec_info 评论对应的商品规格(如 “颜色:白色;尺寸:L”) 字符串 不同规格商品口碑对比
reply 商家回复内容 字符串 商家服务质量分析
reply_created 商家回复时间 字符串 响应时效评估(如多久回复用户评论)

三、不同场景下的返回数据差异

淘宝评论 API 的返回字段会根据 接口权限商品类目 有所差异,以下是两类典型场景的差异示例。

1. 差评场景(rate=1

差评数据会包含更多负面反馈信息,部分接口会返回 reason 字段(差评原因):

json

{
  "id": "9876543210abcdeg",
  "num_iid": "689712345678",
  "user_nick": "tbNick654321",
  "rate": 1,
  "rate_content": "差评",
  "content": "材质太薄,洗了一次就变形,不值这个价!",
  "reason": "商品质量差",
  "created": "2025-05-12 10:00:00",
  "pic_num": 1,
  "pic_urls": ["https://img.alicdn.com/imgextra/i4/123456789/O1CN01abcdef123459_!!0-review.jpg"]
}

2. 无晒图 / 无追评场景

非核心字段会返回默认值(如空数组、false),避免解析时出现空指针异常:

json

{
  "id": "9876543210abcdeh",
  "num_iid": "689712345678",
  "content": "物流很快,客服态度好",
  "rate": 5,
  "has_more": false,
  "more_content": "",
  "pic_num": 0,
  "pic_urls": [],
  "reply": ""
}

3. 特殊类目差异(如美妆 / 3C)

  • 美妆类目:会额外返回 use_effect 字段(使用效果,如 “保湿效果好”“不卡粉”);
  • 3C 类目:会额外返回 use_scene 字段(使用场景,如 “办公用”“游戏用”)。

四、数据解析实战示例(Python)

以下是基于 Python 的评论 API 数据解析示例,包含 成功 / 失败判断、核心字段提取、数据格式化 三个核心步骤。

python

运行

import json
def parse_review_api_response(response_data):
    """
    解析淘宝商品评论API返回数据
    :param response_data: API返回的原始JSON字典
    :return: 格式化的评论数据列表 + 总条数
    """
    # 1. 判断请求是否成功
    if response_data.get("code") != 0:
        error_info = response_data["resp_data"]["error_response"]
        raise Exception(
            f"API调用失败:{error_info['msg']} "
            f"(错误码:{error_info['code']},子错误码:{error_info['sub_code']})"
        )
    
    # 2. 提取业务数据
    review_resp = response_data["resp_data"]["item_review_get_response"]
    total = review_resp.get("total_results", 0)
    raw_reviews = review_resp.get("reviews", [])
    
    # 3. 格式化核心字段
    formatted_reviews = []
    for review in raw_reviews:
        formatted = {
            "评论ID": review.get("id"),
            "商品ID": review.get("num_iid"),
            "用户昵称": review.get("user_nick"),
            "评分": review.get("rate"),
            "评论内容": review.get("content"),
            "评论时间": review.get("created"),
            "是否追评": review.get("has_more"),
            "晒图数量": review.get("pic_num"),
            "晒图链接": review.get("pic_urls", []),
            "商家回复": review.get("reply")
        }
        formatted_reviews.append(formatted)
    
    return total, formatted_reviews
# 模拟API返回数据
mock_success_response = {
    "code": 0,
    "msg": "success",
    "request_id": "123456789abcdef",
    "resp_data": {
        "item_review_get_response": {
            "total_results": 1250,
            "reviews": [
                {
                    "id": "9876543210abcdef",
                    "num_iid": "689712345678",
                    "user_nick": "tbNick123456",
                    "rate": 5,
                    "content": "纯棉材质很舒服",
                    "created": "2025-05-10 14:30:00",
                    "has_more": True,
                    "pic_num": 3,
                    "pic_urls": ["https://xxx.jpg"],
                    "reply": "感谢亲的认可"
                }
            ],
            "request_id": "123456789abcdef"
        }
    }
}
# 调用解析函数
try:
    total_count, reviews = parse_review_api_response(mock_success_response)
    print(f"共获取 {total_count} 条评论,本页解析 {len(reviews)} 条")
    print("第一条评论:", json.dumps(reviews[0], ensure_ascii=False, indent=2))
except Exception as e:
    print("解析失败:", str(e))

五、数据解析与使用注意事项

  1. 字段空值处理more_contentpic_urlsreply 等字段可能为空,解析时需判断默认值,避免 KeyError
  2. 时间格式转换created 字段为字符串格式,需转换为 datetime 类型后再进行时间筛选(如增量采集);
  3. 数据去重:以 id 字段作为唯一标识,避免重复存储相同评论;
  4. 权限限制user_iduse_effect 等字段需申请额外权限才能获取,未授权时返回 null
  5. 图片有效期pic_urls 中的链接有效期通常为 30 天,如需长期使用,建议下载后存储至自有服务器;
  6. 限流适配:评论 API 有 QPS 限制(普通应用 1 QPS),解析后的数据建议缓存至 Redis/MySQL,减少重复调用。

六、总结

淘宝商品评论 API 返回数据具有 结构统一、字段规范、场景适配性强 的特点,核心解析重点在于 顶层状态判断单条评论字段提取。开发者需重点关注 id(去重)、created(增量)、content(舆情)、pic_urls(素材)等核心字段,同时做好空值处理与权限适配,才能高效利用评论数据实现商品口碑分析、用户画像构建、买家秀运营等业务场景。

相关文章
|
4月前
|
JSON 自然语言处理 监控
淘宝关键词搜索与商品详情API接口(JSON数据返回)
通过商品ID(num_iid)获取商品全量信息,包括SKU规格、库存、促销活动、卖家信息、详情页HTML等。
|
3月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
XML Java API
SpringBoot3.x日志生产最佳实践原来是这样!
SpringBoot3.x日志生产最佳实践原来是这样!
785 0
|
Serverless C语言 C++
【数学建模】利用C语言来实现 太阳赤纬 太阳高度角 太阳方位角 计算和求解分析 树木树冠阴影面积与种植间距的编程计算分析研究
【数学建模】利用C语言来实现 太阳赤纬 太阳高度角 太阳方位角 计算和求解分析 树木树冠阴影面积与种植间距的编程计算分析研究
713 1
|
22天前
|
JSON 监控 API
京东商品评论API使用指南
京东商品评论API是京东开放平台提供的核心接口,用于查询指定SKU的用户评论数据,涵盖评分、内容、晒单图片、追评等信息。适用于电商分析、口碑监控等场景。需通过京东联盟申请appkey/appsecret授权调用,遵循平台规则与频率限制,严禁非合规爬取。
|
1月前
|
数据采集 JSON Java
实战解析:淘宝商品评论item_review接口
本文详解2025年淘宝开放平台taobao.item.review.get接口合规调用方法,涵盖权限申请、参数配置、HMAC-SHA1签名生成及Java原生代码实现,无需第三方SDK,可快速集成至数据采集系统,稳定获取商品评论详情。
|
6月前
|
人工智能 自然语言处理 算法
AI与API结合:自动解析商品描述+情感分析评论数据
AI与API深度融合正在重塑电商运营模式。通过自动解析商品描述、分析评论情感,企业可实现信息标准化、用户画像精准化及运营决策自动化。本文从技术架构、核心算法、实战案例三方面,详解AI如何驱动电商智能化升级。
|
6月前
|
Java API 开发者
京东 API 零基础快速上手教程
京东API是京东开放平台提供的接口服务,支持开发者获取商品、订单等数据。本文介绍从注册、创建应用、申请权限到调用API的完整流程,涵盖Python示例代码及测试优化方法,助你快速上手开发。
|
10月前
|
JSON API 开发者
1688店铺所有商品API接口(1688API系列)
1688店铺所有商品API接口允许开发者通过输入店铺ID,获取指定店铺内的全部商品信息,包括名称、价格、库存、图片和销售数据等。该接口支持排序和分页参数,返回JSON格式数据,便于解析和应用。Python示例展示了如何使用requests库发送GET请求并处理响应,助力电商数据分析与业务拓展。