news 2026/5/14 4:38:46

实战解析:1688详情api商品sku、主图数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
实战解析:1688详情api商品sku、主图数据

1688 商品详情 API 的 SKU 与主图数据,是大多数选品、铺货、比价系统首先要啃下的两块“硬骨头”。下面用一条完整的实战链路,把“拿到商品 ID → 拉出 SKU → 拖走主图”过程中最容易踩的坑、最实用的代码、以及返参里那些看似人畜无害却暗藏杀机的字段一次性讲透。


一、接口选型:item_get 还是 sku_get?

  1. 只想一次性拿“商品级”数据(标题、主图、最低价、起批量、供应商信息)
    直接调alibaba.item.get(或第三方包装的/1688/item_get/)即可,SKU 会作为子节点嵌在sku_list数组里 。

  2. 已经拿到商品 ID 列表,只想批量刷新价格/库存
    再单独调alibaba.item.sku.get可省流量,但官方 QPS 卡得死(默认 1),高并发场景建议先在本地建“SKU 池”,再定时用 item_get 做增量更新。


二、SKU 数据到底长什么样?

以 2025-12 官方文档示例为例,一个 SKU 节点核心字段只有 4 个,但坑都在“单位”和“空值”里:

{ "sku_id": "987654321012", "sku_spec": "白色-L", "sku_price": "19.90", // 字符串,需自己转 float "sku_stock": 5000 // 单位是“件”,不是“箱”! }

实战注意

  1. 价格字段sku_price返回的是“单件批发价”,再乘以min_order_quantity才是真正的起批金额。

  2. 库存sku_stock只是“展示库存”,真实可售库存要看available_stock(同一节点下若有该字段)。

  3. 部分类目(包装制品、化工)会把“箱/桶”作为销售单位,spec 里会出现 “1箱=1 200件” 的映射,需要自己做正则拆分。

  4. 当商品开启“阶梯价”时,SKU 里不会给出 2 件、10 件的批发价,需要再调用alibaba.cpsMedia.productInfo或爬取 H5 页面解析priceRange字段 。


三、主图、SKU 图、详情图 3 张皮

item_get 一次会给 3 组图片,很多人直接for img in item_imgs就完事,结果上线后发现 30 天后全变 403——官方图片链接带 token,有效期 30 天,长期用必须落盘。

# 伪代码:一键落盘 3 类图 def dump_images(item): folders = ['主图', 'SKU图', '详情图'] img_lists = [ [item['pic_url']], # 主图只有 1 张 [sku['sku_img'] for sku in item['sku_list']], re.findall(r'<img src="([^"]+)', item['desc']) # 详情图藏在 HTML ] for folder, urls in zip(folders, img_lists): download_to(folder, urls)

小技巧

  • 主图pic_url默认 800×800,把域名img.1688.com替换成img.alicdn.com/imgextra/i4再拼_800x800.jpg可拿更高分辨率。

  • SKU 图有时为空,前端会 fallback 到主图,自己落地时记得判空,否则同一张图存 N 份。

  • 详情图desc_img字段 2025 年下半年已下线,必须解析desc里的 HTML,正则别忘了匹配//img这种无协议头地址。


四、完整实战:从商品 ID → 落库 SKU+主图

下面这段代码可直接跑通(基于第三方网关,已封装 sign),演示“拿数据 → 解析 SKU → 批量下图片”最简链路:

import requests, os, re, json from hashlib import md5 APP_KEY = '你的 AppKey' APP_SECRET = '你的 AppSecret' NUM_IID = '610947572360' # 替换你想抓的商品 BASE_URL = 'https://api-gw.onebound.cn/1688/item_get/' # 1. 拼参 + 签名 params = { 'key': APP_KEY, 'secret': APP_SECRET, 'num_iid': NUM_IID, 'cache': 'yes', 'result_type': 'json', 'lang': 'cn' } sign_str = APP_SECRET + ''.join([f'{k}{v}' for k, v in sorted(params.items())]) + APP_SECRET params['sign'] = md5(sign_str.encode()).hexdigest().upper() # 2. 调接口 res = requests.get(BASE_URL, params=params) data = res.json()['item_get_response']['item'] # 3. 解析 SKU skus = [ { 'sku_id': s['sku_id'], 'spec': s['sku_spec'], 'price': float(s['sku_price']), 'stock': int(s.get('sku_stock', 0)) } for s in data.get('sku_list', []) ] # 4. 抓图 def save_img(url, path): if not url: return url = url if url.startswith('http') else 'https:' + url os.makedirs(os.path.dirname(path), exist_ok=True) with open(path, 'wb') as f: f.write(requests.get(url).content) save_img(data['pic_url'], f'./{NUM_IID}/主图.jpg') for s in data.get('sku_list', []): save_img(s.get('sku_img'), f'./{NUM_IID}/SKU/{s["sku_id"]}.jpg') # 5. 详情图 detail_imgs = re.findall(r'src="([^"]+)"', data.get('desc', '')) for idx, url in enumerate(detail_imgs): save_img(url, f'./{NUM_IID}/详情/{idx}.jpg') print('SKU 列表:', json.dumps(skus, ensure_ascii=False))

五、高频踩坑清单

坑点现象解决方案
签名 401官方提示 sign error1688 签名顺序按参数 Key 升序,最后前后各拼一次 APP_SECRET
阶梯价缺失SKU 里只有单件价再调alibaba.cpsMedia.productInfopriceRange字段
详情图 40330 天后全挂落盘时把//img协议头补全,并做 30 天定时刷新
QPS 被限连续 200 ms 调一次就 500默认 1 QPS,批量请加 ≥1 s 延迟,或申请企业配额
sku_stock=0商品页却显示现货available_stock为准,部分商家设置“展示库存”与“可售库存”双轨

六、小结

  1. SKU 数据一定要做“单位/空值/阶梯价”三重校验,否则前端一上架就会出“下单提示价格已过期”的尴尬。

  2. 主图、SKU 图、详情图链接 30 天失效,落盘+回源策略是生产级必备。

  3. 1688 的 B2B 属性决定了“起批量、供应商类型、箱规”这些字段和淘宝完全不同,解析逻辑要单独维护,不能复用零售那套模板。

把上面这段代码和清单吃透,基本就能在 1 小时内搭起“SKU+主图”的自动化流水线,后续无论是做选品库、ERP 还是铺货 SaaS,都可直接复用。祝各位调试顺利,永不 403!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 7:38:44

AI分类器免费体验攻略:首小时0元,立即试用

AI分类器免费体验攻略&#xff1a;首小时0元&#xff0c;立即试用 引言&#xff1a;为什么你应该试试AI分类器&#xff1f; AI分类器是当前最实用的AI工具之一&#xff0c;它能像智能助手一样帮你自动整理数据、识别内容类型。想象一下&#xff0c;你有一堆杂乱无章的图片或文…

作者头像 李华
网站建设 2026/4/23 14:18:34

打造智能Agent第一步|利用Qwen3-VL-WEBUI实现图像到代码生成

打造智能Agent第一步&#xff5c;利用Qwen3-VL-WEBUI实现图像到代码生成 在某初创公司的产品开发流程中&#xff0c;设计师刚完成了一版移动端登录页的高保真原型图。他将图片上传至内部协作平台&#xff0c;不到10秒后&#xff0c;前端工程师的IDE中就收到了自动生成的React组…

作者头像 李华
网站建设 2026/5/6 11:47:54

无需专业相机!MiDaS实现普通照片3D化教程

无需专业相机&#xff01;MiDaS实现普通照片3D化教程 1. 引言&#xff1a;让AI“看见”三维世界 在传统计算机视觉中&#xff0c;从一张2D照片恢复场景的深度信息是一项极具挑战的任务。人类凭借双眼视差可以自然感知距离&#xff0c;而单目图像则缺乏这种立体线索。然而&…

作者头像 李华
网站建设 2026/5/11 12:01:35

深度估计模型选型指南:为什么选择MiDaS小型版本

深度估计模型选型指南&#xff1a;为什么选择MiDaS小型版本 在计算机视觉领域&#xff0c;单目深度估计&#xff08;Monocular Depth Estimation&#xff09;正成为3D感知、AR/VR、机器人导航和图像理解等应用的核心技术。与依赖双目摄像头或激光雷达的传统方法不同&#xff0…

作者头像 李华
网站建设 2026/5/9 16:18:06

腾讯开源翻译新标杆|HY-MT1.5-7B模型深度实践

腾讯开源翻译新标杆&#xff5c;HY-MT1.5-7B模型深度实践 随着全球化进程的加速&#xff0c;跨语言沟通已成为企业出海、内容本地化和国际协作的核心需求。传统机器翻译服务在面对复杂语境、混合语言或格式敏感场景时常常力不从心。腾讯混元团队推出的 HY-MT1.5 系列翻译大模型…

作者头像 李华
网站建设 2026/4/27 19:33:43

如何用Qwen2.5-7B实现工具调用?vLLM+Docker快速上手指南

如何用Qwen2.5-7B实现工具调用&#xff1f;vLLMDocker快速上手指南 1. 引言&#xff1a;为什么需要大模型工具调用&#xff1f; 随着大语言模型&#xff08;LLM&#xff09;在自然语言理解与生成能力上的持续突破&#xff0c;其在对话系统、内容创作、代码生成等场景中展现出…

作者头像 李华