淘宝开放平台(TOP)为开发者提供了丰富的API接口,其中关键字搜索接口(如taobao.tbk.dg.material.optional)允许通过关键词检索商品信息。本文将介绍如何接入该接口并解析返回结果中的标题等关键数据。
一、接口基本信息
接口名称:导购商品搜索接口(taobao.tbk.dg.material.optional) 功能描述:根据关键词返回符合条件的商品列表,包含标题、价格、销量等核心信息。 请求方式:HTTP GET/POST 返回格式:JSON
二、接入步骤
- 申请开发者权限 注册淘宝开放平台账号(open.taobao.com) 创建应用并获取 App Key 和 App Secret 申请接口权限(需通过审核)
- 接口请求参数(核心字段) 参数名 类型 必填 说明 q String 是 搜索关键词(如"手机") adzone_id String 是 广告位ID(需提前创建) page_no Int 否 页码(默认1) page_size Int 否 每页数量(默认20,最大100) sort String 否 排序方式(如"total_sales_desc") 三、Python代码示例 python Copy Code import requests import hashlib import time import json
def search_taobao_items(keyword, app_key, app_secret, adzone_id): url = "eco.taobao.com/router/rest" timestamp = str(int(time.time())) params = { "method": "taobao.tbk.dg.material.optional", "app_key": app_key, "sign_method": "md5", "timestamp": timestamp, "format": "json", "v": "2.0", "q": keyword, "adzone_id": adzone_id, "page_no": 1, "page_size": 20, "sort": "total_sales_desc" }
# 生成签名
param_str = ""
for k in sorted(params.keys()):
param_str += k + str(params[k])
sign_str = app_secret + param_str + app_secret
sign = hashlib.md5(sign_str.encode()).hexdigest().upper()
params["sign"] = sign
# 发送请求
response = requests.get(url, params=params)
result = response.json()
# 解析商品标题和关键信息
items = []
if "tbk_dg_material_optional_response" in result:
for item in result["tbk_dg_material_optional_response"]["result_list"]["map_data"]:
items.append({
"title": item["title"],
"price": item["zk_final_price"],
"sales": item["volume"],
"shop_name": item["nick"],
"item_url": item["url"]
})
return items
使用示例
if name == "main": app_key = "YOUR_APP_KEY" app_secret = "YOUR_APP_SECRET" adzone_id = "YOUR_ADZONE_ID" keyword = "无线耳机"
search_results = search_taobao_items(keyword, app_key, app_secret, adzone_id)
print(json.dumps(search_results, indent=2, ensure_ascii=False))
四、返回结果解析(标题示例) json Copy Code { "title": "【官方正品】Apple AirPods Pro 2 无线蓝牙耳机 降噪耳机", "price": "1599.00", "sales": 20000, "shop_name": "苹果官方旗舰店", "item_url": "item.taobao.com/item.htm?id…" }
标题解析: 淘宝商品标题通常包含以下元素:
品牌词(如 "Apple") 核心功能(如 "降噪耳机") 促销信息(如 "【官方正品】") 型号/规格(如 "AirPods Pro 2") 五、注意事项 权限控制:需申请导购类API权限 频率限制:默认单应用QPS ≤ 50 数据缓存:禁止缓存商品数据超过24小时 合规要求:遵守《淘宝联盟API使用规范》
通过此接口,开发者可实现商品搜索、比价工具、选品推荐等功能。建议结合用户搜索词进行关键词优化,提升结果相关性。