一、接口概述淘宝开放平台提供 taobao.items.onsale.get/taobao.item_search_shop 接口,可批量获取店铺在售商品列表,包含商品 ID、标题、价格、销量、图片等核心信息。该接口适用于商品库管理、竞品监控、数据分析等场景。小编:Taobaoapi2014 二、接口调用流程
前期准备
注册账号:访问 c0b.cc/R4rbK2 完成注册。创建应用:获取 App Key 和 App Secret,用于身份验证。申请权限:在应用管理中申请 taobao.items.onsale.get 接口权限。
核心参数
参数名说明示例值 nick 卖家昵称(如 "店铺名称")"seller_nick"page_no 页码(从 1 开始)1page_size 每页返回商品数(最大 200)100fields 自定义返回字段(逗号分隔)"num_iid,title,price"
三、Python 代码示例
import requests
import time
from hashlib import md5
from urllib.parse import urlencode
# 封装好的第三方数据商平台接口,复制链接获取测试。
demo url=c0b.cc/R4rbK2 wechat id:Taobaoapi2014
# 配置参数
APP_KEY = "your_app_key"
APP_SECRET = "your_app_secret"
SELLER_NICK = "your_seller_nick" # 店铺昵称
PAGE_SIZE = 100 # 每页数量
def generate_sign(params, app_secret):
sorted_params = sorted(params.items())
sign_str = app_secret + ''.join(f"{k}{v}" for k, v in sorted_params) + app_secret
return md5(sign_str.encode()).hexdigest().upper()
def get_shop_items():
url = "https://gw.api.taobao.com/router/rest"
items = []
page = 1
while True:
params = {
"app_key": APP_KEY,
"method": "taobao.items.onsale.get",
"nick": SELLER_NICK,
"page_no": page,
"page_size": PAGE_SIZE,
"timestamp": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
"v": "2.0",
"format": "json"
}
# 生成签名
sign = generate_sign(params, APP_SECRET)
params["sign"] = sign
# 发送请求
try:
response = requests.get(url, params=params, timeout=10)
data = response.json()
if "error_response" in data:
print(f"API Error: {data['error_response']['msg']}")
break
current_items = data["items_onsale_get_response"]["items"]["item"]
items.extend(current_items)
# 检查是否还有下一页
total = data["items_onsale_get_response"]["total_results"]
if len(items) >= total:
break
page += 1
except Exception as e:
print(f"Request Error: {e}")
break
return items
if __name__ == "__main__":
result = get_shop_items()
if result:
print(f"共获取{len(result)}件商品:")
for item in result[:3]: # 打印前3条示例
print(f"商品ID: {item['num_iid']}, 标题: {item['title']}, 价格: {item['price']}")
复制代码
四、注意事项
权限与频率:
需申请 taobao.items.onsale.get 接口权限。调用频率限制为 100 次/分钟,建议添加延迟(如 time.sleep(1))。
字段扩展:
通过 fields 参数可获取更多字段(如 desc 商品描述、sales 销量)等。
异常处理:
添加重试机制(如 3 次重试)和错误日志记录。处理网络超时、签名错误(40007)等问题。
数据安全:
敏感信息(如 App Secret)需加密存储,避免泄露。
五、扩展应用
结合商品详情接口:通过 taobao.item.get 接口,传入 num_iid 获取单个商品的详细信息(如库存、SKU)。数据分析:将获取的商品数据存入数据库,进行销量趋势分析、价格监控等。
通过以上方法,可高效获取淘宝店铺全量商品数据,满足业务需求。
评论