淘宝 API 详情类 JSON 结构化解析实战(核心章节)

知名用户180079054734个月前未分类154

前言

(可直接放入你的技术文章,纯技术、带代码、带解析、带踩坑点)

一、前言:为什么结构化解析是核心?

淘宝商品详情 API 返回的是多层嵌套 JSON,包含商品基础信息、SKU、图片、价格、营销、物流、服务等数十个字段。
直接使用原始数据会出现:
  • 字段缺失导致程序崩溃

  • SKU 解析混乱

  • 价格类型不统一

  • 图片防盗链无法展示

  • HTML 详情无法直接复用

结构化解析 = 把杂乱嵌套 JSON → 干净、统一、可直接入库 / 前端使用的标准数据模型

二、解析目标

把淘宝 API 原始返回,解析成统一结构:
  1. 商品基础信息(ID、标题、类目、状态)

  2. 价格体系(原价、促销价、券后价)

  3. SKU 规格(规格名、规格值、价格、库存)

  4. 图片资源(主图、详情图、去防盗链处理)

  5. 商品详情(HTML 清洗、文本提取)

  6. 销售信息(销量、发货地、服务)


三、原始 JSON 结构回顾(简化版)

json
{
    "item_get_response": {
        "item": {
            "num_iid": "680123456789",
            "title": "夏季纯棉短袖T恤",
            "price": "89.00",
            "promotion_price": "59.00",
            "pic_url": "https://img.taobao.com/xxx.jpg",
            "item_imgs": [ {"url":"https://img.taobao.com/xxx1.jpg"}, ... ],
            "skus": {
                "sku": [
                    {
                        "sku_id": "123456",
                        "price": "59.00",
                        "quantity": 100,
                        "properties_name": "颜色:白色;尺码:M"
                    }
                ]
            },
            "desc": "<p>商品详情HTML</p>",
            "sales": 12345,
            "free_ship": true
        }
    }}

四、结构化解析实战(分步 + 代码 + 说明)

1. 根节点解析:提取 item 主体

技术点:淘宝 API 固定包裹在 item_get_response → item

python运行

# 解析入口def parse_item(json_data):

    # 1. 提取根节点
    response = json_data.get("item_get_response", {})
    item = response.get("item", {})
    if not item:
        raise Exception("商品数据为空")
    return item

2. 基础字段解析(最稳定、必用)

python运行

num_iid = item.get("num_iid", "")         # 商品唯一IDtitle = item.get("title", "")             # 标题cid = item.get("cid", "")                  # 类目IDcategory_name = item.get("category_name", "")  # 类目名称location = item.get("location", "")        # 发货地seller_nick = item.get("nick", "")         # 卖家昵称shop_name = item.get("shop_name", "")      # 店铺名detail_url = item.get("detail_url", "")    # 商品链接

踩坑点
  • num_iid 必须字符串类型,不能转数字(避免超长精度丢失)


3. 价格体系解析(重点)

淘宝价格字段多,必须统一结构化:
python

运行

# 价格统一格式化price_data = {

    "origin_price": float(item.get("price", 0)),        # 原价
    "sale_price": float(item.get("promotion_price", 0)),# 促销价
    "final_price": 0.0}# 最终价 = 促销价优先,无促销则用原价price_data["final_price"] = price_data["sale_price"] or price_data["origin_price"]
业务价值:价格监控、比价系统核心字段

4. 图片资源解析(去防盗链)

技术点:淘宝图片有防盗链,需标准化处理
python

运行

# 主图main_pic = item.get("pic_url", "")# 详情图列表item_imgs = item.get("item_imgs", [])img_list = [img.get("url", "") for img in item_imgs if img.get("url")]# 清洗:去掉协议头,兼容HTTPS/HTTPimg_list = [

    url.replace("http:", "https:") for url in img_list]
实战用途:自有商城、小程序、APP 商品展示

5. SKU 规格结构化解析(最复杂、最核心)

目标:

颜色:白色;尺码:M 解析为:

plaintext

{

    "specs": {"颜色":"白色","尺码":"M"},
    "price":59,
    "stock":100
}

解析代码

python

运行

sku_list = []sku_array = item.get("skus", {}).get("sku", [])for sku in sku_array:

    sku_id = sku.get("sku_id", "")
    price = float(sku.get("price", 0))
    stock = sku.get("quantity", 0)
    props_name = sku.get("properties_name", "")
    
    # 拆分规格:颜色:白色;尺码:M
    specs = {}
    if props_name:
        prop_arr = props_name.split(";")
        for p in prop_arr:
            if ":" in p:
                k, v = p.split(":", 1)
                specs[k] = v
    
    sku_info = {
        "sku_id": sku_id,
        "price": price,
        "stock": stock,
        "specs": specs    }
    sku_list.append(sku_info)
这是电商系统必备结构:下单、库存、规格选择全靠它

6. 商品详情 HTML 解析与清洗

python

运行

desc_html = item.get("desc", "")# 清洗:去掉淘宝无用标签、懒加载、内链def clean_html(html):

    html = html.replace("data-src", "src")   # 懒加载替换
    html = html.replace("taobao.com", "")    # 可按需过滤
    return html
用途:同步到自有商城、小程序详情页

7. 销售与服务结构化

python

运行

sales_info = {

    "sales": item.get("sales", 0),               # 销量
    "free_shipping": item.get("free_ship", False), # 是否包邮
    "service": item.get("service", ""),           # 服务:七天无理由
    "is_on_sale": True  # 可根据字段判断上下架}

五、最终输出:标准结构化商品模型

json

{

    "num_iid": "680123456789",
    "title": "夏季纯棉短袖T恤",
    "price": {
        "origin": 89.00,
        "sale": 59.00,
        "final": 59.00
    },
    "images": {
        "main": "https://img.taobao.com/xxx.jpg",
        "list": [ "https://img.taobao.com/xxx1.jpg", ... ]
    },
    "skus": [
        {
            "sku_id": "123456",
            "price": 59.00,
            "stock": 100,
            "specs": { "颜色": "白色", "尺码": "M" }
        }
    ],
    "sales": 12345,
    "free_shipping": true,
    "desc": "<p>清洗后的HTML</p>"}
这就是企业级标准结构:可直接入库、给前端、给 ERP、给小程序

六、本章技术总结(可直接放文章结尾)

淘宝商品详情 API 的 JSON 结构化解析,是电商数据开发中最关键、最实用、最容易踩坑的环节。
核心价值:
  1. 统一字段,消除 API 嵌套混乱

  2. SKU 规格化,支撑下单、库存、规格选择

  3. 价格标准化,支撑比价、监控、营销

  4. 图片 / 详情清洗,支持多端展示

  5. 输出标准模型,可直接用于业务系统


相关文章

如何申请淘宝开放平台API权限

申请淘宝开放平台API权限的流程如下:注册淘宝开放平台开发者账号访问淘宝开放平台官网(https://open.taobao.com/),使用支付宝账号或手机号完成注册。提交个人/企业实名认证信息(如...

Python 请求淘宝 API 接口:能帮程序员解决哪些问题?

一、自动化获取店铺与商品数据自动获取全店商品、标题、价格、库存、SKU、主图、详情不用人工登录、复制、粘贴、截图程序员只需写少量代码,几分钟拿到全店数据二、自动同步商品到多平台淘宝 → 拼多多、抖音、...

爱回收价格查询 API 接口的价格趋势分析应用:利用历史报价数据预测设备残值

一、应用背景与核心价值二手电子设备残值受市场供需、新机发布、设备成色等多重因素影响,价格波动具有规律性但难以人工预判。基于爱回收价格查询 API 的历史报价数据开展趋势分析与残值预测,可解决三大核心痛...

技术实战:TikTok视频详情接口接入指南与JSON返回参考

在海外短视频数据分析、内容聚合、创作者运营监控的场景中,TikTok视频详情接口是开发者最常用的核心数据工具之一。它可以帮助开发者绕过复杂的页面爬虫开发,直接获取结构化的全维度视频数据,大幅降低海外短...

技术实战:邦购网(banggo)API详情接口技术解析与标准JSON返回参考

前言邦购网是美特斯邦威集团旗下的官方电商平台,聚焦服饰鞋包类商品的线上销售,其商品详情API是服饰电商从业者、选品工具开发者获取品牌官方结构化商品数据的核心入口,可稳定拉取美邦全系列服饰的价格、库存、...

TikTok 视频详情 & 列表 API 接口技术文档(带全套 JSON 样例・核心章节)

一、接口整体说明TikTok 视频接口分两类:①用户作品列表接口(批量拉取多视频)、②单条视频详情接口(指定 aweme_id 查单品),通用cursor游标分页,不使用 page 页码;鉴权统一 H...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。