首页 > 大数据 > 数据分析 > 淘宝如何批量获取商品SKU?实战案例
taobao.item.sku.get(直接获取SKU信息)或
taobao.item_get(获取商品详情,含SKU)。https://eco.taobao.com/router/restpythonparams = {"method": "taobao.item.sku.get","app_key": "你的App Key","timestamp": "2025-07-09 12:00:00","format": "json","v": "2.0","sign_method": "md5","num_iid": "商品ID", # 例如:652874751412"fields": "sku.price,sku.properties,sku.quantity" # 指定返回字段}pythonimport hashlibdef generate_sign(params, app_secret):params_sorted = sorted(params.items())query_string = app_secret + ''.join([f"{k}{v}" for k, v in params_sorted]) + app_secretreturn hashlib.md5(query_string.encode()).hexdigest().upper()pythonimport requestsimport jsonapp_key = "你的App Key"app_secret = "你的App Secret"num_iid = "商品ID" # 替换为实际商品ID# 构造请求参数params = {"method": "taobao.item.sku.get","app_key": app_key,"timestamp": "2025-07-09 12:00:00","format": "json","v": "2.0","sign_method": "md5","num_iid": num_iid,"fields": "sku.price,sku.properties,sku.quantity"}# 生成签名sign = generate_sign(params, app_secret)params["sign"] = sign# 发送请求response = requests.get("https://eco.taobao.com/router/rest", params=params)result = response.json()# 解析SKU数据if result.get("error_response"):print(f"Error: {result['error_response']['msg']}")else:skus = result.get("item_sku_get_response", {}).get("skus", {}).get("sku", [])for sku in skus:print(f"SKU属性: {sku['properties']}, 价格: {sku['price']}, 库存: {sku['quantity']}")pythonimport csvwith open("skus.csv", "w", newline='', encoding='utf-8') as f:writer = csv.writer(f)writer.writerow(["商品ID", "SKU属性", "价格", "库存"])for sku in skus:writer.writerow([num_iid, sku['properties'], sku['price'], sku['quantity']])taobao.items.onsale.get获取商品列表,再逐个调用SKU接口。taobao.items.onsale.get获取商品列表。taobao.item.sku.get获取每个商品的SKU。python# 获取在售商品列表def get_onsale_items(app_key, app_secret):params = {"method": "taobao.items.onsale.get","app_key": app_key,"timestamp": "2025-07-09 12:00:00","format": "json","v": "2.0","sign_method": "md5","fields": "num_iid,title"}sign = generate_sign(params, app_secret)params["sign"] = signresponse = requests.get("https://eco.taobao.com/router/rest", params=params)return response.json().get("items_onsale_get_response", {}).get("items", {}).get("item", [])# 批量获取SKUapp_key = "你的App Key"app_secret = "你的App Secret"items = get_onsale_items(app_key, app_secret)all_skus = []for item in items:num_iid = item["num_iid"]skus = get_sku_info(app_key, app_secret, num_iid) # 调用前文函数all_skus.extend(skus)# 保存数据with open("all_skus.csv", "w", newline='', encoding='utf-8') as f:writer = csv.writer(f)writer.writerow(["商品ID", "商品标题", "SKU属性", "价格", "库存"])for sku in all_skus:writer.writerow([sku["num_iid"], sku["title"], sku["properties"], sku["price"], sku["quantity"]])
通过淘宝开放平台API可合法、高效地批量获取商品SKU信息,适用于数据分析、库存管理等场景。需严格遵守平台规范,合理控制请求频率,确保数据合规性。第三方工具可作为补充方案,但需注意数据授权与隐私保护。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70046834/viewspace-3090591/ ,如需转载,请注明出处,否则将追究法律责任。