在电商运营和数据分析中,获取商品详情以及通过图片搜索相似商品是常见的需求。淘宝和天猫提供了强大的 API 接口,帮助开发者实现这些功能。本文将详细介绍如何调用淘宝和天猫的商品详情获取接口以及按图搜索商品(拍立淘)接口,并提供实战代码示例。
一、淘宝/天猫商品详情获取接口
(一)接口概述
淘宝和天猫的商品详情接口(taobao.item.get 和 tmall.item.get)允许开发者通过商品 ID(num_iid)获取商品的详细信息,包括标题、价格、库存、销量、评价、SKU 规格等。这些接口广泛应用于电商数据分析、商品推荐、价格监控等场景。
(二)调用流程
1. 注册与认证
-
在淘宝开放平台或天猫开放平台注册开发者账号,并完成实名认证(企业认证)。
-
创建应用并申请相应的 API 权限,获取
App Key和App Secret。
2. 构建请求
-
请求方式:支持 HTTP GET 和 POST 方法。
-
请求参数:
-
app_key:应用的 App Key。 -
method:接口名称,如taobao.item.get。 -
timestamp:请求时间戳,格式为yyyy-MM-dd HH:mm:ss。 -
format:返回数据格式,如json。 -
v:API 版本,如2.0。 -
sign_method:签名方法,如md5。 -
num_iid:商品 ID。 -
fields:指定返回字段,如title,price,pic_url。
-
3. 生成签名
使用 App Secret 对请求参数进行签名验证。签名生成方法如下:
python
import hashlib
import time
def generate_sign(params, app_secret):
sorted_params = sorted(params.items(), key=lambda x: x[0])
query_string = app_secret
for k, v in sorted_params:
query_string += f"{k}{v}"
query_string += app_secret
return hashlib.md5(query_string.encode("utf-8")).hexdigest().upper()
4. 发送请求
以下是一个使用 Python 调用商品详情接口的示例代码:
python
import requests
def get_taobao_item_detail(num_iid, app_key, app_secret):
method = "taobao.item.get"
timestamp = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
format = "json"
v = "2.0"
sign_method = "md5"
params = {
"method": method,
"app_key": app_key,
"timestamp": timestamp,
"format": format,
"v": v,
"sign_method": sign_method,
"num_iid": num_iid,
"fields": "num_iid,title,price,pic_url,volume,nick,seller_id"
}
params["sign"] = generate_sign(params, app_secret)
url = "https://eco.taobao.com/router/rest"
response = requests.get(url, params=params)
return response.json()
# 使用示例
app_key = "YOUR_APP_KEY"
app_secret = "YOUR_APP_SECRET"
num_iid = "1234567890"
result = get_taobao_item_detail(num_iid, app_key, app_secret)
print(result)
二、淘宝/天猫按图搜索商品(拍立淘)接口
(一)接口概述
淘宝/天猫的按图搜索接口(item_search_img)允许用户通过上传图片或图片 URL 来搜索相似商品。该接口基于深度学习和计算机视觉技术,能够快速识别出与上传图片相似的商品。
(二)调用流程
1. 注册与授权
-
在淘宝开放平台或天猫开放平台注册开发者账号,并完成实名认证。
-
创建应用并申请相应的 API 权限,获取
App Key和App Secret。
2. 构建请求
-
请求方式:支持 HTTP GET 和 POST 方法。
-
请求参数:
-
app_key:应用的 App Key。 -
imgid:图片的 URL 或 ID。 -
cat(可选):商品类目 ID,用于限定搜索范围。 -
page(可选):分页参数,指定返回结果的页码。
-
3. 发送请求
以下是一个使用 Python 调用按图搜索接口的示例代码:
python
import requests
def search_products_by_image(app_key, app_secret, img_url):
url = "https://api.taobao.com/imgsearch/item_search_img.do"
params = {
"key": app_key,
"secret": app_secret,
"imgid": img_url,
"page": 1
}
response = requests.get(url, params=params)
if response.status_code == 200:
data = response.json()
items = data.get("items", {}).get("item", [])
for item in items:
print(f"商品标题: {item['title']}")
print(f"价格: {item['price']}")
print(f"链接: {item['detail_url']}")
else:
print(f"请求失败: {response.status_code}")
# 使用示例
app_key = "YOUR_APP_KEY"
app_secret = "YOUR_APP_SECRET"
img_url = "https://example.com/item.jpg"
search_products_by_image(app_key, app_secret, img_url)
三、应用场景
(一)商品推荐
根据用户上传的图片,推荐相似商品,提升购物体验。
(二)竞品分析
通过图像搜索,找到竞品的相似商品,分析其价格、销量等信息。
(三)时尚趋势分析
分析用户上传的时尚单品图片,发现当前的流行趋势,辅助商家选品。
(四)假货识别
通过图像搜索,识别平台上可能存在的假货或侵权商品。
四、注意事项
(一)调用频率限制
-
淘宝和天猫接口通常有调用频率限制,企业账号默认 10000 次/分钟。
-
可通过分时段采集和本地缓存优化调用频率。
(二)签名生成
- 确保签名生成逻辑正确,避免因签名错误导致请求失败。
(三)数据隐私与合规性
- 确保使用 API 接口时遵守相关法律法规,不得用于非法用途。
通过上述介绍和示例代码,开发者可以快速上手使用淘宝和天猫的商品详情获取接口以及按图搜索商品(拍立淘)接口,为电商运营和数据分析提供有力支持。
如遇任何疑问或有进一步的需求,请随时与我私信或者评论联系。