淘宝拍立淘按图搜索API全流程指南(Python实现)
一、核心流程与准备
- 账号与权限获取
- 关注博主
- 创建应用并获取
App Key
和App Secret
(在控制台→应用管理→创建应用)。 - 申请
taobao.item.search.img
接口权限(需提交商品比价、智能推荐等合规用途说明)。
- 图片预处理要求
- 格式:JPG/PNG,大小≤2MB。
- 主体占比需>60%,避免水印、模糊或复杂背景。
- 外部图片需先通过
taobao.picture.upload
接口上传至淘宝图片空间获取URL。
二、API调用步骤与代码实现
1. 生成签名与请求构造
python import requests import base64 import hashlib import time def generate_sign(params, app_secret): sorted_params = sorted(params.items(), key=lambda x: x[0]) param_str = ''.join([f'{k}{v}' for k, v in sorted_params]) sign_str = f"{app_secret}{param_str}{app_secret}" return hashlib.md5(sign_str.encode()).hexdigest().upper() app_key = "YOUR_APP_KEY" app_secret = "YOUR_APP_SECRET" image_path = "test.jpg" # 本地图片路径 # 图片Base64编码 with open(image_path, "rb") as f: image_data = base64.b64encode(f.read()).decode() # 构造请求参数 params = { "method": "taobao.item.search.img", "app_key": app_key, "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"), "format": "json", "v": "2.0", "sign_method": "md5", "image_data": image_data, # 或使用图片URL "page": 1, "cat": "50010788" # 可选:女装类目ID } params["sign"] = generate_sign(params, app_secret) # 发送请求 response = requests.post("https://eco.taobao.com/router/rest", data=params) result = response.json()
2. JSON数据解析
成功响应示例:
json { "code": 200, "msg": "success", "request_id": "12345abcde", "items": { "item": [ { "num_iid": "6789012345678", "title": "2025新款秋冬加绒卫衣", "price": "89.00", "pic_url": "https://img.alicdn.com/imgextra/i1/123456789/O1CN01XXXXXXXXX_XX.jpg", "detail_url": "https://detail.1688.com/offer/123456789.html", "similarity_score": 0.95, "sales": 1234, "promotion_price": "79.00" } ] }, "page_size": 10, "page_number": 1, "total_results": 25 }
关键字段说明:
num_iid
:商品唯一ID,可关联商品详情API。similarity_score
:相似度评分(0-1),越高匹配度越高。promotion_price
:促销价(若存在)。sales
:商品销量。
三、进阶应用与优化
- 分页与排序
- 通过
page
参数控制分页,sort
参数支持price_asc
/price_desc
/sales_desc
排序。 - 示例:
params["sort"] = "sales_desc"
按销量降序。
- 错误处理与限流
- 错误码:401(未授权)、429(频率超限)、2001(系统错误)。
- 免费版QPS≤5,商用需购买API套餐(如10万次/月起)。
- 实现请求队列和延迟机制,避免触发限流。
- 扩展场景
- 比价系统:跨平台价格监控(需结合京东/1688 API)。
- 智能推荐:用户历史图片关联商品推荐。
- 竞品分析:通过相似商品分析价格、销量趋势。
四、注意事项
- 签名规则:参数需按ASCII排序,MD5加密后转大写。
- 图片质量:确保主体清晰,避免遮挡或过度曝光。
- 合规性:遵守淘宝开放平台数据使用政策,禁止滥用数据。
- 接口更新:关注淘宝开放平台文档更新,适配接口变更。
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。