Python采集淘宝评论API接口及JSON数据返回全流程指南
一、官方API接口核心信息
- 接口名称:
taobao.item.reviews.get或taobao.item.review.get
- 认证方式:App Key + App Secret + 签名验证(HMAC-SHA1/MD5)
- 请求参数:
num_iid(商品ID,必填)page_no(页码,默认1)page_size(每页数量,最大100)sort(排序方式:create_time:desc最新评论,score按评分)rate_type(评论类型:good好评,neutral中评,bad差评)- 调用方式(联系博主)
- 响应结构:
json { "item_reviews_get_response": { "total_results": "4605", "reviews": [ { "tid": "123456789", "user_nick": "买家昵称", "content": "商品质量很好", "score": "5", "created": "2025-03-25 10:00:00", "pictures": ["http://example.com/image1.jpg"], "reply": {"seller_nick": "卖家", "content": "感谢您的支持!"} } ] } }
二、Python调用全流程代码示例
python import requests import hashlib import time import json class TaoBaoCommentAPI: def __init__(self, app_key, app_secret): self.app_key = app_key self.app_secret = app_secret self.api_url = "https://eco.taobao.com/router/rest" def _generate_sign(self, params): sorted_params = sorted(params.items(), key=lambda x: x[0]) sign_str = "".join([f"{k}{v}" for k, v in sorted_params]) sign_str = f"{self.app_secret}{sign_str}{self.app_secret}" return hashlib.md5(sign_str.encode()).hexdigest().upper() def get_comments(self, item_id, page=1, page_size=20): params = { "app_key": self.app_key, "method": "taobao.item.reviews.get", "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"), "format": "json", "v": "2.0", "sign_method": "md5", "num_iid": item_id, "page_no": page, "page_size": page_size, "sort": "create_time:desc" } sign = self._generate_sign(params) params["sign"] = sign response = requests.get(self.api_url, params=params) if response.status_code == 200: return response.json() else: raise Exception(f"API请求失败,状态码:{response.status_code}") # 示例使用 if __name__ == "__main__": app_key = "YOUR_APP_KEY" app_secret = "YOUR_APP_SECRET" item_id = "123456789" api = TaoBaoCommentAPI(app_key, app_secret) try: result = api.get_comments(item_id) print(json.dumps(result, indent=2, ensure_ascii=False)) except Exception as e: print(f"错误:{e}")
三、关键步骤详解
- 账号与权限准备
- 注册淘宝开放平台账号,完成企业/个人实名认证。
- 创建应用,获取App Key和App Secret。
- 在API权限管理中申请
taobao.item.reviews.get接口权限。
- 签名生成逻辑
- 参数按ASCII码升序排序。
- 拼接为
参数名=参数值格式,前后添加App Secret。 - 使用MD5加密后转为大写。
- 请求与响应处理
- 发送GET请求到
https://eco.taobao.com/router/rest。 - 解析JSON响应,提取评论列表、总页数、总评论数等关键信息。
- 处理异常情况(如签名错误、权限不足)。
四、常见问题与解决方案
- 认证失败
- 检查App Key/Secret是否正确,签名算法是否符合规范。
- 使用官方测试工具验证签名。
- 数据缺失
- 确认商品ID有效,且评论数据未被隐藏或删除。
- 检查API权限是否包含所需字段(如
pictures、reply)。
- 频率限制
- 单应用每日调用上限为1000次(个人开发者)或10000次(企业开发者)。
- 使用缓存或异步处理减少频繁调用。
五、合规与安全
- 严格遵守淘宝开放平台政策,禁止未经授权的数据抓取。
- 保护App Key和App Secret,避免泄露导致账户风险。
- 定期查看API变更通知,适配最新接口规范。
通过以上方案,可高效获取淘宝商品评论数据,支撑产品优化、竞品分析、舆情监控等业务场景。