前言
一句话说明:上传图片(URL/Base64),返回淘宝同款 / 相似商品列表,用于比价、内容带货、同款监控。
一、如何确保数据稳定性(简单有效)
- 严控调用频率
- 免费版 QPS≤5,商用版按套餐限流;间隔≥200ms,避免 429 限流。
- 限流时指数退避重试(1s→2s→4s,最多 3 次)。
- 图片规范(减少失败)
- 格式:JPG/PNG;大小≤2MB;分辨率≥800×800;主体占比≥60%。
- 无水印、无遮挡、纯色背景,提升匹配率与稳定性。
- 缓存与容错
- 相同图片结果缓存 10 分钟(Redis),减少调用。
- 网络超时 / 5xx 错误自动重试;捕获异常,避免程序崩溃。
- 签名与参数正确
- 参数按 ASCII 升序排序,签名用 HMAC-SHA1,AppSecret 保密。
- 必传:image(URL/Base64);可选:cat(类目)、page、page_size。
二、JSON 数据返回参考(极简版)
json
{ "image_search_response": { "item_list": { "item": [ { "num_iid": "123456789", "title": "2026夏季新款纯棉T恤", "price": "89.00", "promotion_price": "59.00", "pic_url": "https://img.alicdn.com/xxx.jpg", "detail_url": "https://item.taobao.com/item.htm?id=123456789", "match_rate": 0.95, "sales": 2560, "seller_nick": "XX旗舰店", "is_tmall": true } ] }, "total_results": 10, "request_id": "abc123" }, "code": 200, "msg": "success" }
- 关键字段:
num_iid(商品 ID)、title、price、match_rate(相似度 0-1)、sales。
三、核心错误码(快速排查)
- 40001:参数错误 → 检查 image / 签名。
- 40002:签名失败 → 重排参数、重算签名。
- 40005:限流 → 降频 + 重试。
- 404:图片无效 → 检查 URL/Base64。
要不要我给你一段可直接运行的 Python 极简调用示例(含签名、重试、缓存)?