淘宝批量获取商品SKU实战案例

一、核心方案:调用淘宝开放平台API

1. 注册与认证

  • 步骤1 :访问淘宝开放平台,注册开发者账号并完成实名认证。
  • 步骤2 :创建应用,填写应用名称、描述,选择类型为"电商服务",提交后获取App KeyApp Secret

2. API调用流程

(1) 选择接口

  • 推荐接口taobao.item.sku.get(直接获取SKU信息)或taobao.item_get(获取商品详情,含SKU)。
  • 接口文档淘宝开放API文档

(2) 构造请求

  • 请求URL淘宝开放API测试平台

  • 参数示例

    csharp 复制代码
    python
    params = {
        "method": "taobao.item.sku.get",
        "app_key": "你的App Key",
        "timestamp": "2025-07-09 12:00:00",
        "format": "json",
        "v": "2.0",
        "sign_method": "md5",
        "num_iid": "商品ID",  # 例如:652874751412
        "fields": "sku.price,sku.properties,sku.quantity"  # 指定返回字段
    }

(3) 生成签名

  • 签名算法:按淘宝规范对参数进行排序、拼接并MD5加密。

    scss 复制代码
    python
    import hashlib
    def generate_sign(params, app_secret):
        params_sorted = sorted(params.items())
        query_string = app_secret + ''.join([f"{k}{v}" for k, v in params_sorted]) + app_secret
        return hashlib.md5(query_string.encode()).hexdigest().upper()

(4) 发送请求

  • Python代码示例

    python 复制代码
    python
    import requests
    import json
     
    app_key = "你的App Key"
    app_secret = "你的App Secret"
    num_iid = "商品ID"  # 替换为实际商品ID
     
    # 构造请求参数
    params = {
        "method": "taobao.item.sku.get",
        "app_key": app_key,
        "timestamp": "2025-07-09 12:00:00",
        "format": "json",
        "v": "2.0",
        "sign_method": "md5",
        "num_iid": num_iid,
        "fields": "sku.price,sku.properties,sku.quantity"
    }
     
    # 生成签名
    sign = generate_sign(params, app_secret)
    params["sign"] = sign
     
    # 发送请求
    response = requests.get("https://eco.taobao.com/router/rest", params=params)
    result = response.json()
     
    # 解析SKU数据
    if result.get("error_response"):
        print(f"Error: {result['error_response']['msg']}")
    else:
        skus = result.get("item_sku_get_response", {}).get("skus", {}).get("sku", [])
        for sku in skus:
            print(f"SKU属性: {sku['properties']}, 价格: {sku['price']}, 库存: {sku['quantity']}")

3. 数据存储

  • 保存为CSV

    python 复制代码
    python
    import csv
     
    with open("skus.csv", "w", newline='', encoding='utf-8') as f:
        writer = csv.writer(f)
        writer.writerow(["商品ID", "SKU属性", "价格", "库存"])
        for sku in skus:
            writer.writerow([num_iid, sku['properties'], sku['price'], sku['quantity']])

二、第三方工具方案(备选)

1. 工具选择

  • 鼎点数据:支持淘宝/天猫SKU价格监控,提供API接口。
  • 奇点数据:实时价格预警,适合竞品分析。

2. 使用步骤

  1. 注册工具账号,绑定淘宝店铺。
  2. 配置监控任务:输入商品链接,选择SKU监控字段。
  3. 导出数据:通过工具后台下载CSV或调用API获取数据。

三、注意事项

  1. 合规性

    • 遵守淘宝开放平台调用规则,避免高频调用(建议QPS≤1)。
    • 禁止聚合多店铺数据,仅限授权店铺使用。
  2. 错误处理

    • 签名错误:检查参数排序及MD5计算。
    • 权限不足:在开放平台提交API权限申请。
  3. 性能优化

    • 批量处理 :通过taobao.items.onsale.get获取商品列表,再逐个调用SKU接口。
    • 缓存机制:对已获取的SKU数据缓存,减少重复请求。

四、实战案例:批量获取某店铺商品SKU

1. 场景

  • 需求:获取某淘宝店铺所有在售商品的SKU信息。

  • 步骤

    1. 调用taobao.items.onsale.get获取商品列表。
    2. 遍历商品ID,调用taobao.item.sku.get获取每个商品的SKU。
    3. 合并数据并保存。

2. 代码示例(简化版)

csharp 复制代码
python
# 获取在售商品列表
def get_onsale_items(app_key, app_secret):
    params = {
        "method": "taobao.items.onsale.get",
        "app_key": app_key,
        "timestamp": "2025-07-09 12:00:00",
        "format": "json",
        "v": "2.0",
        "sign_method": "md5",
        "fields": "num_iid,title"
    }
    sign = generate_sign(params, app_secret)
    params["sign"] = sign
    response = requests.get("https://eco.taobao.com/router/rest", params=params)
    return response.json().get("items_onsale_get_response", {}).get("items", {}).get("item", [])
 
# 批量获取SKU
app_key = "你的App Key"
app_secret = "你的App Secret"
items = get_onsale_items(app_key, app_secret)
 
all_skus = []
for item in items:
    num_iid = item["num_iid"]
    skus = get_sku_info(app_key, app_secret, num_iid)  # 调用前文函数
    all_skus.extend(skus)
 
# 保存数据
with open("all_skus.csv", "w", newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    writer.writerow(["商品ID", "商品标题", "SKU属性", "价格", "库存"])
    for sku in all_skus:
        writer.writerow([sku["num_iid"], sku["title"], sku["properties"], sku["price"], sku["quantity"]])

五、总结

通过淘宝开放平台API可合法、高效地批量获取商品SKU信息,适用于数据分析、库存管理等场景。需严格遵守平台规范,合理控制请求频率,确保数据合规性。第三方工具可作为补充方案,但需注意数据授权与隐私保护。

相关推荐
涡能增压发动积1 天前
同样的代码循环 10次正常 循环 100次就抛异常?自定义 Comparator 的 bug 让我丢尽颜面
后端
Wenweno0o1 天前
0基础Go语言Eino框架智能体实战-chatModel
开发语言·后端·golang
于慨1 天前
Lambda 表达式、方法引用(Method Reference)语法
java·前端·servlet
石小石Orz1 天前
油猴脚本实现生产环境加载本地qiankun子应用
前端·架构
swg3213211 天前
Spring Boot 3.X Oauth2 认证服务与资源服务
java·spring boot·后端
从前慢丶1 天前
前端交互规范(Web 端)
前端
tyung1 天前
一个 main.go 搞定协作白板:你画一笔,全世界都看见
后端·go
gelald1 天前
SpringBoot - 自动配置原理
java·spring boot·后端
CHU7290351 天前
便捷约玩,沉浸推理:线上剧本杀APP功能版块设计详解
前端·小程序
GISer_Jing1 天前
Page-agent MCP结构
前端·人工智能