一、接口概述淘宝开放平台提供 1688.items.onsale.get/taobao.item_search_shop 接口,可批量获取店铺在售商品列表,包含商品 ID、标题、价格、销量、图片等核心信息。该接口适用于商品库管理、竞品监控、数据分析等场景
二、接口调用流程
前期准备
注册账号:访问1688.com完成注册。创建应用:获取 App Key 和 App Secret,用于身份验证。申请权限:在应用管理中申请 1688.items.onsale.get 接口权限。
三、接口调用全流程
1. 获取店铺商品列表(分页)
import requests
import hashlib
import time
def get_seller_items(seller_id, page_no=1, page_size=100):
url = "https://api.taobao.com/router/rest"
timestamp = str(int(time.time() * 1000))
params = {
"method": "taobao.items.seller.list",
"app_key": "your_app_key",
"session": "seller_session_key", # 需卖家授权获取
"fields": "num_iid,title,price,pic_url",
"page_no": page_no,
"page_size": page_size,
"timestamp": timestamp,
"v": "2.0",
"format": "json"
}
# 生成签名
param_str = "&".join([f"{k}{v}" for k, v in sorted(params.items())])
sign = hashlib.md5(f"your_app_secret{param_str}your_app_secret".encode()).hexdigest().upper()
params["sign"] = sign
response = requests.get(url, params=params)
return response.json()
# 分页获取全店商品
all_items = []
page = 1
while True:
data = get_seller_items("卖家ID", page_no=page)
items = data.get('items', {}).get('item', [])
if not items:
break
all_items.extend(items)
page += 1
请求相关
- 请求方式:支持 HTTP POST、GET。
- 请求参数:主要参数为店铺 ID,这是 1688 平台为每个店铺分配的唯一标识。可选参数有排序方式参数,如 bid(总价升序)、_bid(总价降序)、sale(销量)、time(新品);还有分页参数,用于控制每次返回商品数据的数量及页码1。
返回数据
- 数据格式:通常为 JSON 格式,简洁且易于在各类编程语言和应用程序中解析处理1。
- 数据内容:包含一个商品列表,列表中的每个元素都是一个包含详细商品信息的 JSON 对象,如商品名称、价格、库存、图片链接、商品描述、销量、评价数量及评分等1。
四、扩展应用
结合商品详情接口:通过 1688.item.get 接口,传入 num_iid 获取单个商品的详细信息(如库存、SKU)。数据分析:将获取的商品数据存入数据库,进行销量趋势分析、价格监控等。
通过以上方法,可高效获取淘宝店铺全量商品数据,满足业务需求。