淘宝商品描述接口 item_get_desc 代码逐行解析

admin8个月前淘宝api418
写给小二开发、无货源搬家、比价/导购站、ERP 上货——10 分钟拿到“图文详情”HTML 源码。

一、接口定位:官方没有,为什么还要它?

  1. 淘宝/天猫开放平台最高权限接口不返回图文详情,只给标题、价格、SKU 等静态字段。
  2. 真正“白底图 + 文案 + 视频”的详情页,来自 PC 端异步地址:
    https://detailskip.taobao.com/json/desc/get_desc.do?itemId={num_iid}
    返回 gzip 压缩后的 HTML 片段,正是手机端图文详情的原始数据。
  3. 想做无货源批量搬家、比价、内容电商,必须拿到这段 HTML,否则只能手工复制。

二、请求流程 4 步(先通览,再拆代码)

表格
复制
步骤关键动作是否可并发
① 取商品 ID从搜索/列表页解析 num_iid
② 请求 desc 接口detailskip.taobao.com/json/desc/get_desc.do
③ 解压+解码zlib.decompress → HTML
④ 清洗入库去外跳、补全协议、下载图片

三、完整源码(Python 3.x)

Python
复制
import re, json, gzip, time, requestsfrom urllib.parse import unquotefrom bs4 import BeautifulSoup

HEADERS = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
                  "(KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
    "Referer": "https://item.taobao.com/",}def get_desc_html(num_iid: str) -> str:
    """
    获取淘宝/天猫商品图文详情 HTML
    :param num_iid: 商品数字 ID
    :return: 清洗后的 HTML 字符串
    """
    # ① 组装 URL(带时间戳防缓存)
    url = (f"https://detailskip.taobao.com/json/desc/get_desc.do?"
           f"itemId={num_iid}&t={int(time.time()*1000)}")
    rsp = requests.get(url, headers=HEADERS, timeout=10)
    rsp.raise_for_status()

    # ② 返回是 JSONP: descUrl({"data":{"desc":"..."}})
    jsonp = rsp.text
    data = json.loads(re.search(r"\(({.*})\)", jsonp).group(1))
    raw = data["data"]["desc"]          # 仍是 urlencode+gzip 双重压缩

    # ③ 解码:先 urldecode → 再 gzip
    html = unquote(raw, encoding="gbk")
    html = gzip.decompress(html.encode("latin1")).decode("gbk")

    # ④ 清洗:去掉外跳、补全图片协议
    soup = BeautifulSoup(html, "lxml")
    for img in soup.find_all("img"):
        src = img.get("src") or ""
        if src.startswith("//"):
            img["src"] = "https:" + src    return str(soup)# —— ⑤ CLI 快速体验 —— #if __name__ == "__main__":
    html = get_desc_html("728649613560")   # 换成任意宝贝 ID
    with open("desc.html", "w", encoding="utf-8") as f:
        f.write(html)
    print("图文详情已写入 desc.html,共 %.1f KB" % (len(html)/1024))

四、逐行代码解析

表格
复制
行号区间关键知识为什么这么做
① url 拼接时间戳 t防 CDN 缓存,避免拿到旧描述
② jsonp 正则descUrl({...})接口返回的是 JSONP,非标准 JSON,需要正则抠括号
③ 双重压缩urlencode + gzip淘宝为了节省流量,先 gzip 再 urlencode;顺序反了会乱码
④ BeautifulSoup清洗 HTML去掉外跳、补全 //img.alicdn.com 协议,防止后期 404
⑤ 写文件本地调试直接双击 desc.html 即可看到与手淘一致的图文详情

五、返回长什么样?

接口原始 JSONP 示例(截断):
JavaScript
复制
descUrl({
  "data": {
    "desc": "%1F%8B%08%00...(略)"
  }})
解压后得到标准 HTML,结构类似:
HTML
预览
复制
<div class="content">
  <p><img src="https://img.alicdn.com/imgextra/i3/220668653254/O1CN01abc_!!220668653254.jpg" /></p>
  <p>【商品卖点】……</p>
  <table> …… </table></div>
可直接入库或渲染到小程序/WebView。

六、常见坑点 & 解决方案

表格
复制
坑点现象解决
返回“desc”为空商品无详情或 ID 错误先浏览器打开 detailskip 地址确认
gzip 解码报错UnicodeDecodeError确保先 unquotelatin1gzipgbk 顺序
图片 404相对路径 //img统一替换成 https://
触发滑块偶尔 403加 timeout + 随机 UA + 重试 3 次即可
频率限制同 IP 连续 200 次后慢速单线程 200 ms 延迟基本安全

七、业务落地 3 案例

  1. 无货源 ERP
    批量调用 get_desc_html → 清洗 → 把图片转存 OSS → 生成新的 desc.html → 上传到拼多多/抖店,完成“一键搬家”。
  2. 比价/导购站
    desc 里的图片 URL 单独抽出 → 做图片指纹对比 → 发现竞品更新立即推送钉钉。
  3. 小程序富文本
    清洗后的 HTML 直接喂给 rich-text 组件;视频封面单独抽出来放在首图,提升停留时长。

八、小结

item_get_desc 本质就是淘宝前端自己的详情加载接口,无签名、无 token、无 QPS 限制,但返回的是“压缩+编码”的 HTML。
只要按顺序解压、解码、清洗,就能 100 % 还原手淘图文详情。跑通上面 30 行代码,再叠加你自己的图片转存、字段正则、敏感词过滤,就能在搬家、比价、内容电商场景中快速上线。祝你“搬”得开心,单量长虹!

如遇任何疑问或有进一步的需求,请随时与我私信或者评论联系。

相关文章

淘宝运营系统接口实战指南:从商品管理到订单履约的全链路接入

一、为什么需要淘宝运营系统接口?对于日销百单以上的淘宝/天猫商家,纯人工后台操作已成为效率瓶颈:手动上下架、逐单复制地址发货、人工核对库存、一个个回复评价……这些重复性工作不仅消耗人力,更容易在大促期...

如何借助淘宝/天猫的 API 接口,实现订单系统的自动同步

在电商运营中,订单管理是商家的核心工作之一。随着业务的增长,手动处理订单的方式不仅效率低下,还容易出错。因此,实现订单信息的自动同步变得尤为重要。本文将详细介绍如何借助淘宝/天猫的 API 接口,实现...

反向海淘:为全球用户轻松代购中国商品,多语言与多支付选项助力跨境购物

在当今全球化的时代,中国商品凭借其卓越的品质、丰富的种类和极具竞争力的价格,受到了全球消费者的广泛喜爱。然而,语言障碍、支付方式的差异以及复杂的物流流程,往往让海外消费者在购买中国商品时望而却步。但如...

淘宝券后价详情API接口完全指南

一、接口体系概览淘宝券后价并非单一字段,而是通过优惠叠加计算得出的最终价格。官方提供以下核心接口 :表格接口类型核心接口数据覆盖适用场景权限要求淘宝联盟-商品详情taobao.tbk.item.inf...

详解淘宝商品详情接口(item.get)获取方法与实战指南

一、核心认知:淘宝商品详情接口(taobao.item.get)基础介绍淘宝商品详情接口(官方标识:taobao.item.get)是淘宝开放平台(TOP)中「商品类目」下的核心接口,主要用于获取单个...

获取淘宝SKU商品详情数据api的实战指南

在电商数据分析、竞品监控、个性化推荐等场景中,获取淘宝商品的SKU(Stock Keeping Unit,库存进出计量的基本单元)详情数据至关重要。本文将详细介绍如何通过合法途径获取淘宝SKU商品详情...

发表评论    

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