淘宝 API 快速接入指南:3 分钟搞定商品数据采集(附可运行源码)

0 阅读2分钟

一、接入前提

  1. 完成淘宝开放平台开发者账号注册与实名认证;
  2. 创建应用,获取 API 密钥(AppKey+AppSecret);
  3. 开通 “商品数据查询” 相关接口权限(按平台指引申请,个人开发可申请测试权限)。

二、核心接入步骤(3 分钟落地)

步骤 1:环境准备

安装必备依赖(Python 示例):

bash

运行

pip install requests  # 用于发送HTTP请求
pip install pycryptodome  # 用于接口签名加密

步骤 2:编写核心调用代码(Python 可直接运行)

python

运行

import requests
import time
import hashlib
import hmac

# 配置核心参数
APP_KEY = "你的AppKey"
APP_SECRET = "你的AppSecret"
API_ENDPOINT = "淘宝商品查询接口地址(平台文档获取)"

def get_taobao_product_data(product_id):
    # 1. 构造请求参数
    params = {
        "app_key": APP_KEY,
        "method": "taobao.item.get",  # 接口方法名(平台文档指定)
        "format": "json",
        "v": "2.0",
        "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
        "num_iid": product_id,  # 商品ID
        "fields": "title,price,stock,sales,desc"  # 需获取的商品字段
    }
    
    # 2. 接口签名(按淘宝API规范生成)
    sorted_params = sorted(params.items(), key=lambda x: x[0])
    sign_str = APP_SECRET + "".join([f"{k}{v}" for k, v in sorted_params]) + APP_SECRET
    sign = hmac.new(APP_SECRET.encode(), sign_str.encode(), hashlib.md5).hexdigest().upper()
    params["sign"] = sign
    
    # 3. 发送请求并获取结果
    try:
        response = requests.get(API_ENDPOINT, params=params, timeout=10)
        result = response.json()
        if "error_response" in result:
            return f"调用失败:{result['error_response']['msg']}"
        # 提取核心商品数据
        product = result["item"]
        return {
            "商品标题": product["title"],
            "售价": product["price"],
            "库存": product["stock"],
            "销量": product["sales"],
            "商品描述": product["desc"]
        }
    except Exception as e:
        return f"请求异常:{str(e)}"

# 示例调用:查询指定商品ID的数据
if __name__ == "__main__":
    product_info = get_taobao_product_data("1234567890123")  # 替换为实际商品ID
    print(product_info)

步骤 3:运行验证

  1. 替换代码中APP_KEYAPP_SECRET商品ID为实际信息;
  2. 直接运行脚本,即可输出商品标题、价格、库存等核心数据。

三、关键注意事项

  1. 签名生成是核心:严格按照淘宝 API 文档的签名规则实现,否则会请求失败;
  2. 权限与限流:测试权限有调用次数限制,避免高频重复请求;
  3. 字段规范:fields参数需按平台文档指定传递,不可随意添加未授权字段;
  4. 异常处理:代码已包含超时、错误响应捕获,可根据需求扩展重试机制。

四、延伸说明

该方案适用于个人开发、电商数据分析等场景,支持批量查询(需循环传入商品 ID,控制请求频率)。若需对接订单查询、物流轨迹等其他接口,或优化 Java/PHP 版本代码,可随时交流~