淘宝get_item V1详情优惠字段获取

29 阅读2分钟

限流暴击:免费版 60 次 / 分钟,大促被封 7 天

淘宝商品详情接口的限流分 “梯度”超过限制后不是临时限流,而是直接封禁接口 7 天。有次 “双十一” 预热,我帮客户采集 500 个竞品商品,10 分钟内发了 800 次请求,结果被封到活动结束,客户损失了近 10 万销售额。

痛定思痛后,我用 “令牌桶算法 + 优先级队列” 做了限流,还加了 “失败重试 + 指数退避”,从此再也没被封过

image.png

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 年淘宝客工具,这些接口 “暗规则” 我刻在了脑子里,踩中任何一个都得熬夜改代码,新手一定要记牢:

  1. fields 参数不能省,漏一个字段就返回空:接口默认只返回num_iidtitle,价格、库存、SKU 都要显式指定,别信文档里的 “默认返回所有字段”;
  2. reserve_price是划线价,不是原价:真实原价看original_price,划线价可随意设置,用来营销,不能作为定价依据;
  3. 库存-1是充足,不是缺货:淘宝的stock=-1代表 “库存充足,不限购”,0才是缺货,搞反了会导致超卖或下架正常商品;
  4. SKU 解析必须用spec_id关联:规格名称可能重复(如 “颜色” 和 “色彩”),用spec_id排序后拼接,避免规格组合错误;
  5. 免费版别碰大促:60 次 / 分钟的限制在双十一、618 期间完全不够用,提前 3 个月申请企业版,否则活动期间必被封。