news 2026/8/29 2:44:04

淘宝商品评论API(taobao.item_review)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
淘宝商品评论API(taobao.item_review)

淘宝商品评论核心接口taobao.item_review.get(常简称为 taobao.item_review)的详细使用规则、调用细节和实操要点,这是阿里开放平台获取商品评论的核心接口。

一、接口核心信息(taobao.item_review.get)

1. 基础属性
维度具体内容
接口类型淘宝开放平台「商品评价管理」类目下的 REST API
适用场景获取淘宝 / 天猫商品的用户评价(含评分、内容、晒图、追评等)
权限要求c0b.cc/R4rbK2 (前往体验接口测试,Taobaoapi2014添加V获取)。
调用限制按应用等级限流(普通应用单日调用量约 1000次/秒)
数据范围仅返回公开的用户评论,脱敏展示用户昵称,不返回用户隐私信息
2. 核心参数(补充高频参数)

除了基础必选参数外,该接口还有以下实用可选参数:

参数名是否必选取值 / 说明
num_iid商品 ID(淘宝商品详情页 URL 中id=后的数字,如1234567890
page_no页码,默认 1,最大不超过总页数(总页数 = 总评论数 / 20)
page_size每页条数,1-20,默认 20
rate评分筛选:1(差评)、2(中评)、3(中评)、4(好评)、5(好评)
has_pic是否只返回带图评论:true/false(默认 false)
has_add是否只返回追评:true/false(默认 false)
3. 典型返回数据结构(JSON)

json

{ "item_review_get_response": { "request_id": "123456", // 请求ID(用于排查问题) "total_results": 500, // 该商品总评论数 "reviews": { "review": [ { "id": "10086", // 评论ID "nick": "tbNick123", // 用户昵称(脱敏) "rate": 5, // 评分(1-5) "content": "商品质量很好,物流也快!", // 评论正文 "created": "2026-01-08 15:30:00", // 评论时间 "pic": "https://img.alicdn.com/xxx.jpg", // 晒图URL(多个用逗号分隔) "add_content": "用了一周,还是很好用", // 追评内容 "add_time": "2026-01-15 10:20:00", // 追评时间 "auction_sku": "颜色:白色;尺寸:XL" // 评论对应的商品规格 } ] } } }

二、完整可运行的 Python 调用示例(优化版)

该示例新增评分筛选、带图评论筛选功能,更贴合实际使用场景:

1. 环境准备

bash

pip install requests python-dotenv
2. 代码实现

python

运行

import requests import time import hashlib import json from dotenv import load_dotenv import os # 加载敏感配置(.env文件) load_dotenv() APP_KEY = os.getenv("TAOBAO_APP_KEY") APP_SECRET = os.getenv("TAOBAO_APP_SECRET") def generate_sign(params: dict, app_secret: str) -> str: """生成淘宝接口签名(严格遵循阿里规则)""" # 1. 按参数名ASCII升序排序 sorted_params = sorted(params.items(), key=lambda x: x[0]) # 2. 拼接签名字符串 sign_str = app_secret for key, value in sorted_params: if value is not None and value != "": sign_str += f"{key}{value}" sign_str += app_secret # 3. MD5加密并转大写 return hashlib.md5(sign_str.encode("utf-8")).hexdigest().upper() def call_taobao_item_review( num_iid: str, page_no: int = 1, page_size: int = 20, rate: int = None, # 筛选评分:1-5,None则不筛选 has_pic: bool = False # 是否只返回带图评论 ) -> dict | None: """ 调用taobao.item_review.get接口 :param num_iid: 商品ID :param page_no: 页码 :param page_size: 每页条数(1-20) :param rate: 评分筛选(1-5) :param has_pic: 是否只返回带图评论 :return: 评论数据字典,失败返回None """ # 1. 构造基础参数 params = { "method": "taobao.item.review.get", "app_key": APP_KEY, "timestamp": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), "format": "json", "v": "2.0", "sign_method": "md5", "num_iid": num_iid, "page_no": page_no, "page_size": page_size } # 2. 添加可选筛选参数 if rate is not None and 1 <= rate <= 5: params["rate"] = rate if has_pic: params["has_pic"] = "true" # 接口要求字符串格式的true/false # 3. 生成签名 params["sign"] = generate_sign(params, APP_SECRET) # 4. 发送请求 url = "https://eco.taobao.com/router/rest" try: response = requests.post(url, params=params, timeout=10) response.raise_for_status() result = response.json() # 5. 处理错误响应 if "error_response" in result: err = result["error_response"] print(f"接口错误:[{err['code']}] {err['msg']}") return None return result["item_review_get_response"] except Exception as e: print(f"调用失败:{str(e)}") return None # -------------------------- 测试调用 -------------------------- if __name__ == "__main__": # 示例:获取商品1234567890的5星带图评论,第1页,每页10条 review_data = call_taobao_item_review( num_iid="1234567890", page_no=1, page_size=10, rate=5, has_pic=True ) if review_data: total = review_data.get("total_results", 0) print(f"找到{total}条符合条件的评论:") for idx, rev in enumerate(review_data["reviews"]["review"], 1): print(f"\n=== 评论{idx} ===") print(f"用户:{rev['nick']}") print(f"评分:{rev['rate']}星") print(f"内容:{rev['content']}") print(f"规格:{rev.get('auction_sku', '未知')}") print(f"晒图:{rev.get('pic', '无')}")
3. .env 文件配置示例

在项目根目录创建.env文件:

env

TAOBAO_APP_KEY=你的实际AppKey TAOBAO_APP_SECRET=你的实际AppSecret

三、常见问题与解决方案

问题现象原因分析解决方案
403 错误(签名错误)AppSecret 错误 / 参数排序错误 / 时间戳格式错误1. 核对 AppSecret;2. 确认参数 ASCII 升序;3. 时间戳格式为YYYY-MM-DD HH:MM:SS
401 错误(权限不足)未申请接口权限 / 应用未审核通过登录开放平台,在「应用管理 - 权限管理」中申请该接口并等待审核
返回评论为空商品无评论 / 筛选条件过严 / 页码超限1. 检查商品是否有评论;2. 放宽筛选条件;3. 核对总页数
调用频率超限单日调用量超过应用限额1. 升级应用等级;2. 增加调用间隔(如每次调用休眠 1 秒)

四、进阶使用建议

  1. 分页获取所有评论:通过total_results计算总页数,循环调用call_taobao_item_review并递增page_no,直到获取所有评论;
  2. 数据存储:将评论数据存入 CSV/MySQL/MongoDB,方便后续分析(如情感分析、关键词提取);
  3. 异常重试:添加重试机制(如使用tenacity库),处理网络波动导致的临时失败;
  4. 日志记录:记录每次调用的请求 ID、参数、响应结果,方便问题排查。

总结

  1. taobao.item_review.get是获取淘宝商品评论的官方合规接口,核心是正确生成签名申请接口权限
  2. 该接口支持评分、带图、追评等筛选条件,可精准获取目标评论数据;
  3. 调用时需注意限流规则和数据合规性,敏感配置(AppKey/AppSecret)需避免硬编码。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 7:57:49

Oracle LISTAGG在电商系统中的5个实际应用场景

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 设计一个电商数据库查询&#xff0c;展示LISTAGG的5种实际应用&#xff1a;1) 生成订单商品清单 2) 聚合用户购买历史 3) 创建产品标签云 4) 生成报表摘要 5) 构建搜索关键词集合。…

作者头像 李华
网站建设 2026/8/28 23:22:03

MGeo模型解析:从原理到部署的完整技术栈剖析

MGeo模型解析&#xff1a;从原理到部署的完整技术栈剖析 地址标准化和相似度匹配是许多企业服务中的基础需求&#xff0c;比如物流配送、用户画像分析、地理信息服务等场景。当接手一个地址服务系统时&#xff0c;如果文档不全&#xff0c;理解模型原理和部署细节就变得尤为重要…

作者头像 李华
网站建设 2026/8/28 23:22:32

学霸同款2026 AI论文网站TOP10:自考论文写作全测评

学霸同款2026 AI论文网站TOP10&#xff1a;自考论文写作全测评 2026年自考论文写作工具测评&#xff1a;精准选择&#xff0c;高效提分 随着人工智能技术的不断进步&#xff0c;AI论文写作工具在学术领域的应用日益广泛。对于自考学生而言&#xff0c;如何在有限的时间内完成高…

作者头像 李华
网站建设 2026/8/24 21:35:29

从零精通ArcObjects开发:实战案例驱动的GIS技术进阶指南

从零精通ArcObjects开发&#xff1a;实战案例驱动的GIS技术进阶指南 【免费下载链接】arcobjects-sdk-community-samples This repo contains the source code samples (.Net c#, .Net vb, and C) that demonstrate the usage of the ArcObject SDK. 项目地址: https://gitc…

作者头像 李华
网站建设 2026/8/21 22:51:03

智能校园气象站是什么

Q1&#xff1a;校园气象站的核心定位是什么&#xff1f;相比传统气象教学仪器&#xff0c;核心优势在哪里&#xff1f;A&#xff1a;核心定位是“专为全学段校园设计的沉浸式气象科教装备”&#xff0c;主打“实操性强、教学适配、安装灵活”&#xff0c;核心价值在于将抽象的气…

作者头像 李华
网站建设 2026/8/27 3:50:58

终极指南:在macOS上轻松制作Windows启动盘的完整方案

终极指南&#xff1a;在macOS上轻松制作Windows启动盘的完整方案 【免费下载链接】windiskwriter &#x1f5a5; A macOS app that creates bootable USB drives for Windows. &#x1f6e0; Patches Windows 11 to bypass TPM and Secure Boot requirements. 项目地址: http…

作者头像 李华