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

知名用户180079054733个月前未分类141

前言

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

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

淘宝商品详情 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 实战:业务场景与完整 JSON 返回参考

一、接口简介京东商品评论核心接口 jd.union.open.goods.review.list.get,基于宙斯开放平台,采用 HTTPS+OAuth2.0 鉴权,支持分页查询商品评价、晒图、追评、...

技术实战:唯品会商品详情API接入指南与JSON返回参考

前言在品牌折扣选品、正品货源监控、多平台价格比价的业务场景中,唯品会商品详情API是电商从业者最核心的结构化数据入口。它无需搭建复杂的反爬体系,就能稳定获取全维度的唯品会品牌商品信息,大幅降低品牌折扣...

1688 跨境寻源通 API 免费对接・五大落地成功案例(适配文章直接使用)

说明:所有案例前期均依托寻源通免费基础额度完成技术验证与业务跑通,放量后扩容配额;覆盖跨境 ERP SaaS、独立站、代采服务商、店群自研系统、跨境选品工具五大主流赛道,附带业务痛点、技术方案、落地成...

1688 商品详情 API 接口全解析(调用、字段、异常、实战)

你关注的 1688 商品详情 API 接口(核心为alibaba.item.get)是获取 1688 批发商品结构化数据的官方通道,以下从接口基础信息、核心字段、调用规则、实战代码、常见问题五个维度,...

YouTube(油管)视频详情 API ,JSON 返回结构及解析方法

你想要了解 YouTube(油管)视频详情 API 的调用方式、JSON 返回结构及解析方法,核心是掌握「API 认证、请求构造、JSON 字段解读、实战解析」四大关键点。以下是从API 基础配置→完...

Ozon Seller 商品详情 API(v2/product/info/list)接口详解与标准 JSON 返回示例

一、接口基础介绍Ozon 是俄罗斯头部跨境电商平台,/v2/product/info/list 是卖家侧标准商品详情批量查询接口,采用 POST 请求、Bearer Token 鉴权,支持批量传入pr...

发表评论    

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