首页 > 大数据 > 数据分析 > 淘宝商品详情高级版(item_get_pro)调用详解
1. 准入与认证
2. 权限申请
3. 请求参数构造
method: 固定值
taobao.item.get_proapp_key: 应用的App Keynum_iid: 商品ID(需通过商品搜索接口或手动获取)fields: 指定返回字段(如
title,price,skus,promotions,shop_info)timestamp: 请求时间戳(格式
YYYY-MM-DD HH:MM:SS)sign: 签名(通过MD5算法生成,见下文)cache: 是否使用缓存数据(
yes/
no,默认
yes)lang: 翻译语言(
cn/
en/
ru)result_type: 返回格式(
json/
xml,默认
json)is_promotion: 是否包含促销信息(
1/
0)4. 签名生成规则
pythonimport hashlibfrom urllib.parse import urlencodedef generate_sign(params, app_secret):# 1. 参数按ASCII码升序排序sorted_params = sorted(params.items(), key=lambda x: x[0])# 2. 拼接签名字符串sign_str = app_secret + ''.join([f"{k}{v}" for k, v in sorted_params]) + app_secret# 3. MD5加密并转大写return hashlib.md5(sign_str.encode('utf-8')).hexdigest().upper()# 示例参数params = {"method": "taobao.item.get_pro","app_key": "YOUR_APP_KEY","num_iid": "123456789","timestamp": "2025-09-07 10:00:00","format": "json","v": "2.0"}params["sign"] = generate_sign(params, "YOUR_APP_SECRET")
5. 请求发送与响应解析
https://eco.taobao.com/router/restjson{"item_get_pro_response": {"item": {"id": "123456789","title": "2025新款智能手表","price": "1299.00","skus": [{"sku_id": "111", "specs": {"颜色": "黑色", "尺寸": "42mm"}, "price": "1299.00", "stock": 100}],"promotions": [{"type": "秒杀", "start_time": "2025-09-07 12:00:00", "end_time": "2025-09-07 14:00:00"}],"shop_info": {"name": "官方旗舰店", "credit_score": 4.8},"realtime_data": {"view_count": 5000, "conversion_rate": "3.2%"}}}}
1001:参数错误(检查
num_iid格式)1002:商品不存在(验证商品ID有效性)3001:访问令牌无效(重新生成签名)pythonimport requestsimport hashlibimport timeclass TaobaoAPI:def __init__(self, app_key, app_secret):self.app_key = app_keyself.app_secret = app_secretself.api_url = "https://eco.taobao.com/router/rest"def generate_sign(self, params):sorted_params = sorted(params.items(), key=lambda x: x[0])sign_str = self.app_secret + ''.join([f"{k}{v}" for k, v in sorted_params]) + self.app_secretreturn hashlib.md5(sign_str.encode('utf-8')).hexdigest().upper()def get_item_detail(self, item_id, fields="id,title,price,skus,promotions,shop_info"):params = {"method": "taobao.item.get_pro","app_key": self.app_key,"num_iid": item_id,"fields": fields,"timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),"format": "json","v": "2.0"}params["sign"] = self.generate_sign(params)response = requests.get(self.api_url, params=params)result = response.json()return result.get("item_get_pro_response", {}).get("item", {})# 使用示例api = TaobaoAPI("YOUR_APP_KEY", "YOUR_APP_SECRET")item = api.get_item_detail("123456789")print(f"商品标题: {item.get('title')}")print(f"当前价格: {item.get('price')}")print(f"SKU信息: {item.get('skus', [])}")
fields参数仅获取必要字段,减少数据传输量。通过以上步骤,可高效调用item_get_pro接口获取淘宝商品详情高级版数据,支撑电商数据分析、智能选品等场景需求。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70046834/viewspace-3095118/ ,如需转载,请注明出处,否则将追究法律责任。