news 2026/1/15 7:02:23

淘宝商品评论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/1/14 8:46:26

异常检测:用MGeo识别伪造地址的另类应用

异常检测&#xff1a;用MGeo识别伪造地址的另类应用 在风控领域&#xff0c;黑产团伙经常使用相似但无效的地址进行欺诈活动&#xff0c;给企业带来巨大损失。传统基于规则或正样本训练的检测方法往往难以应对这种场景。本文将介绍如何利用MGeo这一多模态地理语言模型&#xff…

作者头像 李华
网站建设 2026/1/10 10:08:30

PyGMT 终极指南:用 Python 轻松制作专业级地理地图

PyGMT 终极指南&#xff1a;用 Python 轻松制作专业级地理地图 【免费下载链接】pygmt A Python interface for the Generic Mapping Tools. 项目地址: https://gitcode.com/gh_mirrors/py/pygmt 想要用 Python 创建媲美学术期刊级别的地理地图吗&#xff1f;PyGMT 正是…

作者头像 李华
网站建设 2026/1/10 22:09:40

AI赋能科研写作:9款智能软件详细评测,一键生成开题报告

在毕业论文写作高峰期&#xff0c;如何高效完成开题报告和论文是学生普遍面临的挑战&#xff0c;传统人工写作方式灵活性高但效率较低&#xff0c;而新兴AI工具能快速生成内容并优化文本重复率和AI特征。通过系统对比9款主流平台&#xff0c;可以筛选出最适合学术写作的智能辅助…

作者头像 李华
网站建设 2026/1/11 2:59:59

TikTok数据采集终极指南:5步构建智能社交分析工具

TikTok数据采集终极指南&#xff1a;5步构建智能社交分析工具 【免费下载链接】tiktok-api Unofficial API wrapper for TikTok 项目地址: https://gitcode.com/gh_mirrors/tik/tiktok-api TikTok作为全球领先的短视频平台&#xff0c;其海量用户数据和内容价值为开发者…

作者头像 李华
网站建设 2026/1/13 11:21:21

Skia图形库完整使用手册:从零开始掌握跨平台2D渲染

Skia图形库完整使用手册&#xff1a;从零开始掌握跨平台2D渲染 【免费下载链接】skia Skia is a complete 2D graphic library for drawing Text, Geometries, and Images. 项目地址: https://gitcode.com/gh_mirrors/sk/skia Skia图形库是Google开发的全功能2D图形渲染…

作者头像 李华