淘宝店铺所有商品列表API接口调用指南及Python代码示例‌

117 阅读2分钟

本文基于淘宝开放平台 item_search_shop 接口,提供完整的参数说明、代码实现及实战注意事项,助您快速获取指定店铺所有商品数据。

一、接口概述‌

核心功能‌

获取指定店铺内所有商品的详细信息,包括商品ID、标题、价格、销量、图片链接等。 支持分页查询(默认每页60条)与排序规则(按价格、销量、新品等排序)。

适用场景‌

数据分析‌:监控商品价格波动、库存变化及销售趋势; 竞品监控‌:实时获取竞争对手店铺商品动态; 第三方应用‌:构建商品比价平台或代购系统。

fdce6f178c2447d7a6b10df178f3b84a.png 点击获取key和secret

二、接口参数说明‌ 参数‌ ‌类型‌ ‌必填‌ ‌描述‌ seller_id String 是 卖家ID或店铺ID,用于唯一标识目标店铺 page Int 否 分页页码,默认1,每页返回60条数据 sort String 否 排序方式:new(新品)、bid(价格升序)、bid_(价格降序)、sale(销量) app_key String 是 开发者身份凭证,需在淘宝开放平台注册应用获取 sign String 是 请求签名,通过app_secret和参数生成,确保请求合法性 三、Python代码示例‌ python Copy Code import requests
import hashlib
import time

配置参数

app_key = "YOUR_APP_KEY"
app_secret = "YOUR_APP_SECRET"
seller_id = "2568161054" # 示例店铺ID

生成签名

def generate_sign(params):
params_str = ''.join([f"{k}{v}" for k, v in sorted(params.items())])
sign_str = app_secret + params_str + app_secret
return hashlib.md5(sign_str.encode()).hexdigest().upper()

请求商品列表

def fetch_shop_products(page=1, sort="new"):
params = {
"method": "taobao.item_search_shop",
"seller_id": seller_id,
"page": page,
"sort": sort,
"app_key": app_key,
"timestamp": int(time.time()),
"format": "json",
"v": "2.0"
}
params["sign"] = generate_sign(params)

response = requests.get("https://gw.api.taobao.com/router/rest", params=params)  
return response.json()  

示例调用

data = fetch_shop_products(page=1, sort="bid_")
print(data)

代码说明‌:

签名生成‌:通过拼接参数和应用密钥生成MD5签名,确保请求合法性; 分页处理‌:通过循环递增page参数实现全量数据抓取; 数据解析‌:返回JSON格式数据,需提取data.products字段获取商品列表。 四、注意事项‌ 权限申请‌:需在淘宝开放平台注册开发者账号并申请item_search_shop接口权限; 分页限制‌:单次请求最多返回60条数据,需循环调用接口直至total_results遍历完成; 频率控制‌:淘宝API对调用频率有限制(通常每分钟500次),需避免触发风控; 数据更新‌:商品价格、库存等信息可能实时变动,建议定时更新数据。

参考文档‌:

淘宝开放平台API文档 代码中 YOUR_APP_KEY 和 YOUR_APP_SECRET 需替换为实际值。