Python 请求1688商品详情字段数据 API 接口及示例实战

8 阅读3分钟

1688 商品详情数据通常包含商品基本信息、价格信息、卖家信息、物流信息、图片视频信息等字段,以下是具体介绍及示例:

一:商品详情数据通常包含字段

商品 ID:num_iid,用于唯一标识一个商品,如123456789。
商品标题:title,描述商品的主要特征,如2023新款夏季T恤。
商品简短描述:desc_short,通常用于商品列表展示,如新款T恤,时尚百搭。
商品价格:price,表示商品的销售价格,如15.00。
商品总价:total_price,如果商品有多个 SKU,表示所有 SKU 的总价,如150.00(假设 10 件一组,单价 15 元)。
建议价格:suggestive_price,商家推荐的售价,如20.00。
原价:original_price,商品的原始价格,如25.00。
卖家昵称:nick,如XX服饰工厂。
商品库存数量:num,表示商品的可售数量,如5000。
商品详情页链接:detail_url,如detail.1688.com/offer/12345…
商品图片 URL:pic_url,通常为主图的链接,如img1688.com/xxx.jpg。
品牌 ID:brandId,用于标识商品的品牌,如1234。
根类目 ID:rootCatId,表示商品所属的顶级类目,如5678。
类目 ID:cid,表示商品所属的具体类目,如567801。
商品详细描述:desc,包含商品的详细信息和卖点,如此T恤采用纯棉材质,舒适透气,圆领设计,适合多种场合穿着。
商品图片列表:item_imgs,包含商品的所有图片链接,如["img1688.com/xxx1.jpg", "[img1688.com/xxx2.jpg"]。…link.csdn.net/?target=htt…)
商品重量:item_weight,如0.2kg。
邮费:post_fee,如8.00。
快递费:express_fee,如10.00。
EMS 费:ems_fee,如15.00。
发货地:shipping_to,如广东广州。
商品视频:video,包含商品的视频链接,如video.1688.com/xxx.mp4。
样品 ID:sample_id,如9876。
商品属性名称:props_name,如颜色、尺寸、材质。
属性图片:prop_imgs,包含商品属性的图片链接,如["img1688.com/color1.jpg", "[img1688.com/size1.jpg"]…link.csdn.net/?target=htt…)
商品属性列表:props,包含商品的所有属性信息,如[{"颜色": "红色"}, {"尺寸": "L"}]。

二:提取数据实战

准备工作:

前往 1688 开放平台完成企业资质认证,认证需 3-5 个工作日,或第三方供应商注册账号
创建应用,获取 app_key 和 app_secret 等关键凭证。

签名机制解析:1688 采用双重签名验证,使用 app_secret 对参数加密。示例代码如下:

python
import urllib.parse
sorted_params = sorted(params.items())
query_str = '&'.join((f'{k}={urllib.parse.quote_plus(str(v))}' for k, v in sorted_params))
  1. 调用商品详情接口:可使用 Python 进行接口调用,需安装阿里官方
    Python SDK,命令为pip install alibaba - python - sdk。

示例代码如下:

import time
import alibaba
# 封装好API供应商demo url=o0b.cn/ibrad 复制链接获取测试
# 初始化客户端
client = alibaba.Client(app_key='你的app_key', app_secret='你的app_secret')
# 商品ID
product_id = "商品ID"
# 1688要求13位时间戳
timestamp = str(int(time.time() * 1000))

# 构建请求参数
params = {
   
    "method": "1688.item_get",
    "app_key": client.app_key,
    "timestamp": timestamp,
    "num_iid": product_id,
    "format": "json"
}
# 生成签名
sign = client.sign(params)
params['sign'] = sign

# 发送请求
response = client.get(params)
data = response.json()

# 提取关键字段
product_info = data.get('item', {
   })
print(f"商品标题:{product_info.get('title')}")
print(f"批发价格区间:{product_info.get('price')}")
print(f"最小起订量:{product_info.get('moq')}")

上述代码中,需将'你的app_key'和'你的app_secret'替换为实际申请到的密钥,"商品ID"替换为要查询的商品 ID。通过这种方式,可获取到相应的商品详情数据,并提取出所需字段信息。