限流暴击:免费版 60 次 / 分钟,大促被封 7 天
淘宝商品详情接口的限流分 “梯度”超过限制后不是临时限流,而是直接封禁接口 7 天。有次 “双十一” 预热,我帮客户采集 500 个竞品商品,10 分钟内发了 800 次请求,结果被封到活动结束,客户损失了近 10 万销售额。
痛定思痛后,我用 “令牌桶算法 + 优先级队列” 做了限流,还加了 “失败重试 + 指数退避”,从此再也没被封过

python/测试链接
# coding:utf-8 """ Compatible for python2.x and python3.x requirement: pip install requests """ from __future__ import print_function import requests # 请求示例 url 默认请求参数已经做URL编码 url = "https://api-gw.onebound.cn/taobao/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=652874751412&is_promotion=1" headers = { "Accept-Encoding": "gzip", "Connection": "close" } if __name__ == "__main__": r = requests.get(url, headers=headers) json_obj = r.json() print(json_obj)
做了 6 年淘宝客工具,这些接口 “暗规则” 我刻在了脑子里,踩中任何一个都得熬夜改代码,新手一定要记牢:
fields 参数不能省,漏一个字段就返回空:接口默认只返回
num_iid和title,价格、库存、SKU 都要显式指定,别信文档里的 “默认返回所有字段”;reserve_price是划线价,不是原价:真实原价看original_price,划线价可随意设置,用来营销,不能作为定价依据;库存
-1是充足,不是缺货:淘宝的stock=-1代表 “库存充足,不限购”,0才是缺货,搞反了会导致超卖或下架正常商品;SKU 解析必须用
spec_id关联:规格名称可能重复(如 “颜色” 和 “色彩”),用spec_id排序后拼接,避免规格组合错误;免费版别碰大促:60 次 / 分钟的限制在双十一、618 期间完全不够用,提前 3 个月申请企业版,否则活动期间必被封。