首页 > 大数据 > 数据分析 > 淘宝拍立淘(以图搜图)API接口调用流程指南
taobao.image.search 接口权限,填写使用场景(如“商品比价”“智能推荐”),需通过人工审核。
方式一:App Key + App Secret 直接调用
适用于无需用户授权的场景(如后台批量处理)。
签名生成规则(Python示例):
pythonimport hashlibimport timedef 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_secretreturn hashlib.md5(param_str.encode('utf-8')).hexdigest().upper()params = {"method": "taobao.image.search","app_key": "YOUR_APP_KEY","timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),"format": "json","v": "2.0","sign_method": "md5","image": "BASE64_ENCODED_IMAGE" # 或图片URL}params["sign"] = generate_sign(params, "YOUR_APP_SECRET")
方式二:OAuth2.0 授权
需用户授权的场景(如获取用户历史搜索记录):
https://oauth.taobao.com/authorize?response_type=code&client_id=YOUR_APP_KEY&redirect_uri=YOUR_CALLBACK_URL
code 换取
access_token:
pythondef get_access_token(code):url = "https://oauth.taobao.com/token"data = {"grant_type": "authorization_code","client_id": "YOUR_APP_KEY","client_secret": "YOUR_APP_SECRET","code": code,"redirect_uri": "YOUR_CALLBACK_URL"}response = requests.post(url, data=data)return response.json()["access_token"]https://img.alicdn.com/xxx.jpg)。taobao.picture.upload 接口上传图片,获取URL或ID。
pythondef upload_image(app_key, app_secret, image_path):url = "https://eco.taobao.com/router/rest"with open(image_path, "rb") as f:image_data = base64.b64encode(f.read()).decode("utf-8")params = {"method": "taobao.picture.upload","app_key": app_key,"timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),"format": "json","v": "2.0","sign_method": "md5","image": image_data}params["sign"] = generate_sign(params, app_secret)response = requests.get(url, params=params)return response.json().get("picture_upload_response", {}).get("picture", {}).get("url")
请求地址:
https://eco.taobao.com/router/rest
请求方式:HTTP POST
关键参数:
| 参数名 | 类型 | 说明 |
|---|---|---|
image |
String | 图片URL或Base64编码数据 |
cat |
String | 商品类目ID(可选,如女装:50010788) |
sort |
String | 排序规则(如
price_desc 价格降序) |
page |
Int | 分页页码(默认1) |
完整请求示例:
pythondef 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}params["sign"] = generate_sign(params, app_secret)response = requests.post(url, data=params)return response.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}}关键字段说明:
| 字段名 | 类型 | 说明 |
|---|---|---|
title |
String | 商品标题 |
price |
String | 商品价格 |
pic_url |
String | 商品图片URL |
detail_url |
String | 商品详情页链接 |
match_rate |
Float | 相似度评分(0-1) |
sales |
Int | 销量 |
40001:参数错误。40002:签名验证失败。40005:接口调用频率超限。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70046834/viewspace-3092390/ ,如需转载,请注明出处,否则将追究法律责任。