一、摘要 / 前言
本指南提供两种关键词搜索淘宝商品列表的 API 实现方案:
- 官方方案:淘宝开放平台(TOP)的商品搜索接口,需企业 / 个人开发者认证,接口稳定、数据合规,适合正规代购系统。
- 第三方方案:合规的电商 API 服务商(如聚合数据、极速数据)提供的淘宝商品搜索接口,无需复杂的官方认证,快速集成,适合小型项目或原型开发。
两种方案均支持通过关键词、页码、排序方式等参数获取商品列表数据(含商品 ID、标题、价格、销量、图片链接、店铺信息等核心字段),并提供 Python 请求示例。
二、接口概述
2.1 第三方接口(合规服务商)
(1)接口基本信息
- 接口名称:
淘宝商品关键词搜索接口 - 请求方式:GET/POST
- 请求地址:由服务商提供(如c0b.cc/R4rbK2 )
- 权限要求:
- 注册服务商账号,获取
APIKey。 - 部分服务商提供免费调用额度(每日 100-1000 次),超出后需付费。
- 无需签名验证,仅需在请求头或参数中携带
APIKey。
- 注册服务商账号,获取
(2)核心请求参数
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
appkey | 是 | String | c0b.cc/R4rbK2 (前往体验接口测试,Taobaoapi2014添加V获取)。 |
keyword | 是 | String | 搜索关键词 |
page | 否 | Integer | 页码,默认 1 |
pagesize | 否 | Integer | 每页条数,默认 20 |
sort | 否 | String | 排序方式,与官方接口一致 |
(3)优势与劣势
- 优势:集成简单(无需处理签名)、快速上线、无需淘宝客认证。
- 劣势:数据更新可能滞后于官方、存在调用频率限制、部分服务商收费较高、稳定性依赖于服务商。
三、Python 请求示例
3.1第三方接口(合规服务商)
淘宝开放平台提供了 Python SDK(topapi),可简化签名和请求流程,推荐使用。
(1)安装 SDK
bash
pip install topapi(2)请求代码
from topapi import TopApi from datetime import datetime # 1. 初始化API对象(替换为你的AppKey和AppSecret) api = TopApi( appkey="你的AppKey", appsecret="你的AppSecret", url="https://eco.taobao.com/router/rest" ) # 2. 构造请求参数 params = { "method": "taobao.tbk.item.search", "q": "苹果16手机壳 全包防摔", # 搜索关键词 "page_no": 1, # 页码 "page_size": 20, # 每页条数 "sort": "total_sales", # 销量优先排序 "format": "json", "v": "2.0", "timestamp": datetime.now().strftime("%Y-%m-%d %H:%M:%S") # 自动生成时间戳 } try: # 3. 发送请求(SDK自动处理签名,无需手动计算) response = api.get(params) # 4. 解析返回数据(提取核心商品信息) if "tbk_item_search_response" in response: items = response["tbk_item_search_response"]["results"]["n_tbk_item"] # 遍历商品列表,打印核心信息 for idx, item in enumerate(items, 1): print(f"【{idx}】") print(f"标题:{item['title']}") print(f"价格:¥{item['price']}") print(f"销量:{item['sales']}") print(f"商品链接:{item['item_url']}") print("-" * 80) else: print("请求失败,返回数据异常:", response) except Exception as e: print(f"接口调用失败:{str(e)}") # 常见异常:签名错误(AppKey/AppSecret错误)、时间戳偏差、调用频率超限3.2 返回数据核心字段说明
{ "tbk_item_search_response": { "results": { "n_tbk_item": [ { "num_iid": "1234567890", // 商品唯一ID(核心,用于跳转/详情查询) "title": "苹果16手机壳 全包防摔 透明款", // 商品标题 "pict_url": "https://img.alicdn.com/xxx.jpg", // 商品主图 "price": "29.9", // 商品售价 "sales": "5000+", // 销量 "shop_title": "XX数码配件店", // 店铺名称 "item_url": "https://item.taobao.com/item.htm?id=1234567890" // 商品链接 } ] }, "total_results": 8900, // 搜索结果总数 "request_id": "xxx" // 调试用请求ID } }四、关键注意事项
- 签名规则(官方接口):如果不用 SDK 手动构造签名,需严格遵循淘宝规则(参数按字母升序排列→拼接→HMAC-SHA1 加密→转大写),建议优先用官方 SDK 避免错误。
- 调用频率限制:官方接口每秒最多调用 1000 次,第三方接口每日有免费额度,超出会返回 429 错误,需在代码中添加「限流 / 重试机制」。
- 数据合规性:使用商品数据时,需保留淘宝客链接(官方接口),不得篡改价格 / 标题,不得用于恶意比价 / 刷单。
- 异常处理:需捕获「签名错误」「频率超限」「参数错误」「网络异常」等场景,避免程序崩溃。