限流暴击:免费版 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 个月申请企业版,否则活动期间必被封。