淘宝 API(taobao.item.get) Python 调用 + 解析 + 数据反馈参考

简介: 下面给你一套可直接运行的淘宝 API Python 调用 + 解析 + 数据反馈参考,以最常用的 ** 商品详情(taobao.item.get)和商品搜索(taobao.item.search)** 为例,包含完整签名、请求、JSON 返回、解析代码与字段说明。

下面给你一套可直接运行的淘宝 API Python 调用 + 解析 + 数据反馈参考,以最常用的 ** 商品详情(taobao.item.get)商品搜索(taobao.item.search)** 为例,包含完整签名、请求、JSON 返回、解析代码与字段说明。


一、前置准备

  1. 注册淘宝开放平台 → 创建应用 → 获取 AppKey / AppSecret
  2. 安装依赖

bash

运行

pip install requests pycryptodome
  1. 网关地址:

二、Python 调用与解析完整代码(通用版)

1. 签名工具(必须)

python

运行

import hashlib
import requests
import json
from datetime import datetime
def generate_sign(params, app_secret):
    """生成淘宝API签名(MD5)"""
    sorted_params = sorted(params.items(), key=lambda x: x[0])
    query = ''.join([f"{k}{v}" for k, v in sorted_params])
    sign_str = app_secret + query + app_secret
    return hashlib.md5(sign_str.encode('utf-8')).hexdigest().upper()
def call_taobao_api(method, app_key, app_secret, biz_params):
    """通用淘宝API调用函数"""
    base_url = "https://gw.api.taobao.com/router/rest"
    public_params = {
        "method": method,
        "app_key": app_key,
        "timestamp": datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
        "format": "json",
        "v": "2.0",
        "sign_method": "md5"
    }
    all_params = {**public_params, **biz_params}
    all_params["sign"] = generate_sign(all_params, app_secret)
    
    try:
        resp = requests.post(base_url, data=all_params, timeout=10)
        resp.raise_for_status()
        return resp.json()
    except Exception as e:
        print(f"请求失败: {e}")
        return None

三、示例 1:商品详情(taobao.item.get)

1. 调用代码

python

运行

# 配置
APP_KEY = "你的AppKey"
APP_SECRET = "你的AppSecret"
NUM_IID = "650088223456"  # 商品ID
# 业务参数
biz_params = {
    "num_iid": NUM_IID,
    "fields": "num_iid,title,price,original_price,pic_url,volume,location,skus,detail_url"
}
# 调用API
result = call_taobao_api("taobao.item.get", APP_KEY, APP_SECRET, biz_params)

2. 标准 JSON 返回(简化)

json

{
  "item_get_response": {
    "item": {
      "num_iid": "650088223456",
      "title": "2025新款智能手表 高清大屏 运动健康监测",
      "price": "1299.00",
      "original_price": "1599.00",
      "pic_url": "https://img.alicdn.com/bao/uploaded/i1/xxx.jpg",
      "volume": "2000",
      "location": {
        "city": "深圳",
        "state": "广东"
      },
      "detail_url": "https://item.taobao.com/item.htm?id=650088223456",
      "skus": [
        {
          "sku_id": "123456789",
          "price": "1299.00",
          "stock": 150,
          "properties_name": "颜色:黑色;尺寸:42mm"
        },
        {
          "sku_id": "123456790",
          "price": "1399.00",
          "stock": 80,
          "properties_name": "颜色:银色;尺寸:46mm"
        }
      ]
    },
    "request_id": "abc123xyz"
  }
}

3. Python 解析代码

python

运行

def parse_item_detail(json_data):
    """解析商品详情"""
    if "error_response" in json_data:
        print(f"错误: {json_data['error_response']['msg']}")
        return None
    
    item = json_data["item_get_response"]["item"]
    parsed = {
        "商品ID": item["num_iid"],
        "标题": item["title"],
        "售价": float(item["price"]),
        "原价": float(item.get("original_price", 0)),
        "主图": item["pic_url"],
        "销量": int(item["volume"]),
        "发货地": f"{item['location']['state']} {item['location']['city']}",
        "商品链接": item["detail_url"],
        "SKU列表": []
    }
    
    for sku in item.get("skus", []):
        parsed["SKU列表"].append({
            "SKU_ID": sku["sku_id"],
            "规格": sku["properties_name"],
            "价格": float(sku["price"]),
            "库存": sku["stock"]
        })
    return parsed
# 解析并打印
if result:
    item_detail = parse_item_detail(result)
    print(json.dumps(item_detail, indent=2, ensure_ascii=False))

四、示例 2:商品搜索(taobao.item.search)

1. 调用代码

python

运行

biz_params = {
    "q": "智能手表",
    "page_no": "1",
    "page_size": "20",
    "fields": "num_iid,title,price,pic_url,volume,provcity"
}
result = call_taobao_api("taobao.item.search", APP_KEY, APP_SECRET, biz_params)

2. JSON 返回(简化)

json

{
  "item_search_response": {
    "items": {
      "item": [
        {
          "num_iid": "650088223456",
          "title": "2025新款智能手表 高清大屏",
          "price": "1299.00",
          "pic_url": "https://img.alicdn.com/xxx.jpg",
          "volume": "2000",
          "provcity": "广东 深圳"
        },
        {
          "num_iid": "650088223457",
          "title": "运动智能手表 心率监测",
          "price": "899.00",
          "pic_url": "https://img.alicdn.com/yyy.jpg",
          "volume": "1500",
          "provcity": "浙江 杭州"
        }
      ]
    },
    "total_results": 1000,
    "request_id": "def456uvw"
  }
}

3. 解析代码

python

运行

def parse_item_search(json_data):
    """解析商品搜索结果"""
    if "error_response" in json_data:
        print(f"错误: {json_data['error_response']['msg']}")
        return None
    
    items = json_data["item_search_response"]["items"]["item"]
    parsed_list = []
    for item in items:
        parsed_list.append({
            "商品ID": item["num_iid"],
            "标题": item["title"],
            "价格": float(item["price"]),
            "主图": item["pic_url"],
            "销量": int(item["volume"]),
            "发货地": item["provcity"]
        })
    return parsed_list
# 解析
if result:
    search_result = parse_item_search(result)
    print(f"搜索到 {len(search_result)} 个商品")
    print(json.dumps(search_result[:2], indent=2, ensure_ascii=False))

五、常见错误返回(必须处理)

json

{
  "error_response": {
    "code": 10001,
    "msg": "Invalid signature",
    "sub_code": "isv.sign-invalid",
    "sub_msg": "签名无效"
  }
}
  • 10001:签名错误(检查排序 / 拼接 / 密钥)
  • 40004:缺少必填参数
  • 40006:权限不足(未开通接口)
  • 50000:服务器异常

六、核心字段说明(常用)

表格

字段 含义 类型
num_iid 商品 ID string
title 商品标题 string
price 售价 string(需转 float)
original_price 原价 string
pic_url 主图 string
volume 销量 string(需转 int)
skus SKU 列表 array
location 发货地 object
provcity 发货地(省 + 市) string
相关文章
|
5月前
|
数据采集 JSON 监控
淘宝商品详情 API 全解析 —— 从接口调用到 JSON 返回数据实战
在电商数据采集、竞品分析、价格监控、选品决策等场景中,淘宝商品详情 API是最核心、最常用的数据接口。它能稳定获取商品标题、价格、销量、库存、SKU 规格、店铺信息、发货地、好评率等全维度数据,相比直接爬虫,API 调用更合规、更稳定、效率更高。
|
10月前
|
JSON API 数据安全/隐私保护
天猫商品详情API 数据解析(附代码)
天猫商品详情API(tmall.item_get)通过商品ID获取标题、价格、库存、图片、SKU等信息,支持高并发,适用于电商数据分析与价格策略优化。接口采用HTTP请求与JSON返回,需AppKey+签名认证。附Python请求示例,含签名验证与异常处理。前往体验:c0b.cc/R4rbK2
|
4月前
|
JSON 监控 小程序
淘宝商品详情 API(taobao.item.get)完整使用教程
从 0 到 1 手把手教你调用、解析、落地业务 适配场景:无货源代发、闲鱼铺货、ERP 同步、导购小程序、比价工具
|
4月前
|
数据采集 JSON 网络协议
淘宝评论api调用常见问题以及解决方案?
淘宝评论 API(核心为taobao.item.reviews.get)调用常见问题集中在权限、签名、限流、参数、数据、网络、解析、合规八大类,以下按问题类型逐一说明现象、原因、解决方案与最佳实践,附错误码速查。
|
7月前
|
安全 API 数据库
淘宝商品上架自动化:API接口集成实战指南
针对传统商品上架人力成本高、出错率高、响应慢三大痛点,本方案基于淘宝开放平台API,构建自动化上架系统。通过Python调用商品创建、图片上传、库存价格等接口,实现7×24小时无人值守操作,上架效率提升10倍,错误率降至0.5%以下。结合批量处理、日志审计与安全防护机制,助力商家释放运营人力,专注营销优化。
1093 0
|
6月前
|
JavaScript API 开发工具
淘宝API SDK快速开发指南
本文介绍如何快速接入淘宝开放平台API,使用官方SDK实现商品查询等高效调用。涵盖环境配置、客户端初始化、API调用与响应处理,并提供错误码解析、频率控制及批量请求等实战技巧,助开发者提升集成效率。
|
6月前
|
XML JSON API
淘宝商品详情API(tb.item_get)
本文详解淘宝开放平台商品详情核心API(如item_get),涵盖对接流程、权限申请、请求规范、参数说明及返回字段,并列举代购集运、选品分析、比价导购等典型应用场景,助力开发者合规高效获取商品数据。(239字)
|
3月前
|
数据采集 监控 API
淘宝店铺所有商品 API 接口全解析:批量获取全店商品数据(2026 最新版)
在电商数据采集与店铺管理场景中,批量获取淘宝店铺所有商品是核心需求之一。淘宝开放平台提供了标准化 API 接口,支持按店铺、类目、时间等维度拉取商品全量数据,涵盖标题、价格、SKU、库存、销量等关键字段。本文将从接口选型、参数配置、代码实现、数据解析全流程展开讲解,适用于店铺运营、ERP 系统对接、竞品分析等场景。
|
4月前
|
监控 供应链 数据挖掘
淘宝商品详情API(taobao.item.get)场景说明
淘宝商品详情API(如taobao.item.get)通过提供商品全量结构化数据,已成为电商生态中连接数据与业务的核心枢纽,其业务场景覆盖电商运营、数据分析、供应链管理、营销推广等多个领域,以下从八大核心场景展开详细说明:
|
7月前
|
JSON JavaScript API
代码调用淘宝关键词搜索 API 全教程(以 Python 为例)
淘宝关键词搜索 API(核心接口:taobao.tbk.item.search)是实现商品搜索、市场分析的核心工具,调用需完成「参数构造→签名生成→HTTP 请求→数据解析」全流程。以下是基于 Python 的完整调用教程,含通用代码、参数说明、避坑要点,适配新手快速上手。

热门文章

最新文章