一、接口概述
淘宝开放平台提供taobao.items.onsale.get/taobao.item_search_shop
接口,可批量获取店铺在售商品列表,包含商品 ID、标题、价格、销量、图片等核心信息。该接口适用于商品库管理、竞品监控、数据分析等场景。小编:Taobaoapi2014
二、接口调用流程
1. 前期准备
- 注册账号:访问 c0b.cc/R4rbK2 完成注册。
- 创建应用:获取
App Key
和App Secret
,用于身份验证。 - 申请权限:在应用管理中申请
taobao.items.onsale.get
接口权限。
2. 核心参数
参数名 | 说明 | 示例值 |
---|---|---|
nick | 卖家昵称(如 "店铺名称") | "seller_nick" |
page_no | 页码(从 1 开始) | 1 |
page_size | 每页返回商品数(最大 200) | 100 |
fields | 自定义返回字段(逗号分隔) | "num_iid,title,price" |
三、Python 代码示例
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)。 - 数据分析:将获取的商品数据存入数据库,进行销量趋势分析、价格监控等。
通过以上方法,可高效获取淘宝店铺全量商品数据,满足业务需求。