根据商品图获取相关商品信息,淘宝拍立淘API接口指南

6 阅读3分钟

根据淘宝开放平台官方文档及开发者实践,淘宝拍立淘API(taobao.image.search/item_search_img)的完整调用指南如下:

一、接入前准备

  1. 注册与认证

    • 登录淘宝开放平台,完成企业/个人实名认证(需营业执照或身份证)。
    • 创建应用(Web/移动端),获取App KeyApp Secret(用于接口签名验证)。
    • 开发者等级需达L1级(通过基础考试),在“权限管理”中申请taobao.image.searchitem_search_img接口权限,填写使用场景(如“商品比价”“智能推荐”),审核周期1-3个工作日。
  2. 图片要求

    • 格式:JPG/PNG,大小≤2MB,分辨率建议≥800×800,主体商品占比≥60%,避免水印、遮挡。
    • 图片来源:支持淘宝/天猫商品URL,或通过taobao.picture.upload接口上传本地图片获取URL/ID。

二、接口调用流程

1. 认证与签名生成

  • 签名规则(MD5加密):
    按ASCII升序排序参数,拼接为App Secret + 参数字符串 + App Secret,计算MD5并转为大写。
    Python示例:

    python
    import hashlib
    def generate_sign(params, app_secret):
        sorted_params = sorted(params.items(), key=lambda x: x[0])
        param_str = app_secret + ''.join([f"{k}{v}" for k, v in sorted_params]) + app_secret
        return hashlib.md5(param_str.encode('utf-8')).hexdigest().upper()
    

2. 请求构造

  • 请求地址https://eco.taobao.com/router/rest(推荐)或https://api.taobao.com/imgsearch/item_search_img.do

  • 请求方式:HTTP POST(multipart/form-data)。

  • 关键参数

    参数名必选说明
    app_key应用标识
    timestamp请求时间戳(YYYY-MM-DD HH:MM:SS)
    sign_method固定为md5
    image图片URL或Base64编码数据
    cat商品类目ID(如女装:50010788)
    page分页页码(默认1)

3. 响应解析

  • 返回格式:JSON,核心字段包括:

    json
    {
      "image_search_response": {
        "item_list": {
          "item": [
            {
              "title": "2025夏季新款连衣裙",
              "price": "199.00",
              "pic_url": "https://img.alicdn.com/xxx.jpg",
              "detail_url": "https://item.taobao.com/item.htm?id=123456789",
              "match_rate": 0.95,  // 相似度评分(0-1)
              "sales": 2560
            }
          ]
        },
        "total_results": 1
      }
    }
    

三、代码示例(Python)

python
import requests
import hashlib
import time

def search_by_image(app_key, app_secret, image_url):
    url = "https://eco.taobao.com/router/rest"
    params = {
        "method": "taobao.image.search",
        "app_key": app_key,
        "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
        "format": "json",
        "v": "2.0",
        "sign_method": "md5",
        "image": image_url,
        "page": 1
    }
    # 生成签名
    sorted_params = sorted(params.items(), key=lambda x: x[0])
    param_str = app_secret + ''.join([f"{k}{v}" for k, v in sorted_params]) + app_secret
    params["sign"] = hashlib.md5(param_str.encode('utf-8')).hexdigest().upper()
    
    # 发送请求
    response = requests.post(url, data=params)
    if response.status_code == 200:
        return response.json()
    else:
        raise Exception(f"请求失败:{response.status_code}")

# 调用示例
app_key = "YOUR_APP_KEY"
app_secret = "YOUR_APP_SECRET"
result = search_by_image(app_key, app_secret, "https://example.com/item.jpg")
print(result)

四、限制与注意事项

  1. 调用频率:免费版QPS≤5,单日调用量有限;商用需购买API套餐(如10万次/月起)。

  2. 错误处理

    • 错误码isp.no-permission:权限不足,检查接口权限申请状态。
    • 错误码isp.limit-exceeded:调用频率超限,需添加指数退避重试机制。
    • 签名错误:检查参数排序和时间戳(±5分钟有效)。
  3. 隐私保护:用户图片需匿名化处理(如模糊人脸/车牌),传输使用HTTPS,遵守《个人信息保护法》。

  4. 合规性:定期关注淘宝开放平台文档更新,避免未授权数据抓取。

五、应用场景

  • 电商比价:线下看样,线上比价。
  • 智能推荐:结合用户浏览历史,推荐相似商品。
  • 竞品分析:监控竞争对手热销款式。
  • UGC内容变现:自动识别用户分享图片中的商品,关联淘宝链接。

通过遵循以上指南,开发者可高效集成淘宝拍立淘API,实现以图搜商品的智能功能,提升用户体验与商业价值。建议参考淘宝开放平台API文档页面获取最新规则和示例。