一、接口概述
淘寶拍立淘接口是淘寶開放平臺提供的圖像搜索服務(wù),允許用戶通過上傳圖片或圖片URL,在淘寶商品庫中搜索相似商品。其核心功能包括:
- 圖像識別:基于深度學(xué)習(xí)模型(如ResNet、MobileNet)提取圖片特征。
- 相似度匹配:通過近似最近鄰搜索(ANN)算法快速檢索相似商品。
- 結(jié)果排序:綜合圖像相似度、銷量、價格等維度返回排序結(jié)果。
- 應(yīng)用場景:電商比價、智能推薦、競品分析、社交媒體商品識別等。
二、接口調(diào)用流程
1. 注冊與認(rèn)證
- 訪問淘寶開放平臺/萬邦開放平臺:完成企業(yè)/個人實(shí)名認(rèn)證。
- 創(chuàng)建應(yīng)用:在控制臺創(chuàng)建應(yīng)用,選擇“自用型”或“他用型”,獲取
App Key
和App Secret
。
2. 權(quán)限申請
- 在控制臺申請
taobao.item_search_img
接口權(quán)限,填寫使用場景(如商品比價、智能推薦)。
3. 圖片上傳
- 本地圖片:需轉(zhuǎn)換為Base64編碼。
- 圖片URL:支持淘寶/天貓圖片地址,外部地址需先調(diào)用上傳接口獲取URL。
4. 接口調(diào)用
- 請求方式:HTTP POST。
- 請求地址:https://eco.taobao.com/router/rest。
- 必選參數(shù): app_key:應(yīng)用標(biāo)識。 image:圖片數(shù)據(jù)(Base64編碼或URL)。
- 可選參數(shù): cat:商品類目ID(如女裝類目ID:50010788)。 sort:排序規(guī)則(如price_desc按價格降序)。 page:分頁參數(shù)(默認(rèn)每頁20條)。
5. 響應(yīng)處理
- 接口返回JSON格式數(shù)據(jù),包含商品標(biāo)題、價格、銷量、鏈接等信息。
三、參數(shù)說明
參數(shù) | 必選 | 說明 |
---|---|---|
app_key | 是 | 應(yīng)用標(biāo)識,用于身份驗(yàn)證。 |
image | 是 | 圖片數(shù)據(jù),支持Base64編碼或圖片URL。 |
cat | 否 | 商品類目ID,限定搜索范圍。 |
sort | 否 | 排序規(guī)則(如price_asc 按價格升序)。 |
page | 否 | 分頁參數(shù),指定返回結(jié)果的頁碼。 |
四、示例代碼
Python示例
python
import requests
import hashlib
import time
import base64
def taobao_image_search(app_key, app_secret, image_path):
# 圖片轉(zhuǎn)Base64
with open(image_path, 'rb') as f:
image_data = base64.b64encode(f.read()).decode()
# 構(gòu)建簽名參數(shù)
params = {
'method': 'taobao.item.search.img',
'app_key': app_key,
'timestamp': int(time.time()),
'format': 'json',
'v': '2.0',
'image': image_data,
'sign_method': 'md5'
}
# 生成簽名
param_str = ''.join([f'{k}{v}' for k, v in sorted(params.items())])
sign = hashlib.md5((app_secret + param_str + app_secret).encode()).hexdigest().upper()
params['sign'] = sign
# 發(fā)送請求
response = requests.post(
'https://eco.taobao.com/router/rest',
data=params,
headers={'Content-Type': 'application/x-www-form-urlencoded'}
)
return response.json()
# 使用示例
result = taobao_image_search(
app_key='YOUR_APP_KEY',
app_secret='YOUR_APP_SECRET',
image_path='test.jpg'
)
print(result)
Java示例
java
import com.taobao.api.DefaultTaobaoClient;
import com.taobao.api.TaobaoClient;
import com.taobao.api.request.TbkScPailitaoWidgetConvertRequest;
import com.taobao.api.response.TbkScPailitaoWidgetConvertResponse;
public class PailitaoApiExample {
public static void main(String[] args) {
String url = "https://eco.taobao.com/router/rest";
String appKey = "YOUR_APP_KEY";
String appSecret = "YOUR_APP_SECRET";
String sessionKey = "YOUR_SESSION_KEY";
TaobaoClient client = new DefaultTaobaoClient(url, appKey, appSecret);
TbkScPailitaoWidgetConvertRequest req = new TbkScPailitaoWidgetConvertRequest();
req.setAdzoneId(123L);
req.setRelationId(123L);
req.setSiteId(123L);
req.setType(0L);
try {
TbkScPailitaoWidgetConvertResponse rsp = client.execute(req, sessionKey);
System.out.println(rsp.getBody());
} catch (Exception e) {
e.printStackTrace();
}
}
}
五、注意事項(xiàng)
- 頻率限制:免費(fèi)版接口默認(rèn)QPS≤5,超出會觸發(fā)限流,大規(guī)模商用需購買API套餐。
- 圖片質(zhì)量:建議使用高清、無水印、無遮擋的商品圖片,主體商品占比超過60%。
- 簽名驗(yàn)證:參數(shù)需按字典序排序,MD5加密生成簽名,確保請求合法性。
- 錯誤處理:添加重試邏輯,處理網(wǎng)絡(luò)異常、API返回錯誤碼等情況。
- 數(shù)據(jù)更新:商品數(shù)據(jù)動態(tài)變化,需定期更新和維護(hù)獲取到的數(shù)據(jù)。
- 隱私保護(hù):遵守相關(guān)法律法規(guī),確保用戶上傳的圖片數(shù)據(jù)安全。
六、應(yīng)用場景與案例
- 電商比價:通過圖像搜索實(shí)現(xiàn)跨平臺價格監(jiān)控。
- 智能推薦:結(jié)合用戶歷史圖片生成個性化推薦。
- UGC內(nèi)容變現(xiàn):將用戶分享的圖片自動關(guān)聯(lián)商品鏈接。
- 線下門店:通過攝像頭識別用戶拍攝的商品圖片,提供購買建議。
通過以上指南,開發(fā)者可高效集成淘寶拍立淘接口,實(shí)現(xiàn)以圖搜商品的功能,提升用戶體驗(yàn)和商業(yè)價值。