一、核心方案:調(diào)用淘寶開放平臺(tái)API
1. 注冊(cè)與認(rèn)證
- 步驟1:訪問淘寶開放平臺(tái),注冊(cè)開發(fā)者賬號(hào)并完成實(shí)名認(rèn)證。
- 步驟2:創(chuàng)建應(yīng)用,填寫應(yīng)用名稱、描述,選擇類型為“電商服務(wù)”,提交后獲取App Key和App Secret。
2. API調(diào)用流程
(1) 選擇接口
- 推薦接口:
taobao.item.sku.get
(直接獲取SKU信息)或taobao.item_get
(獲取商品詳情,含SKU)。 - 接口文檔:淘寶開放API文檔
(2) 構(gòu)造請(qǐng)求
- 請(qǐng)求URL:淘寶開放API測(cè)試平臺(tái)
- 參數(shù)示例: csharp 體驗(yàn)AI代碼助手 代碼解讀復(fù)制代碼python 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": "商品ID", # 例如:652874751412 "fields": "sku.price,sku.properties,sku.quantity" # 指定返回字段 }
(3) 生成簽名
- 簽名算法:按淘寶規(guī)范對(duì)參數(shù)進(jìn)行排序、拼接并MD5加密。 scss 體驗(yàn)AI代碼助手 代碼解讀復(fù)制代碼python import hashlib def 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_secret return hashlib.md5(query_string.encode()).hexdigest().upper()
(4) 發(fā)送請(qǐng)求
- Python代碼示例: python 體驗(yàn)AI代碼助手 代碼解讀復(fù)制代碼python import requests import json app_key = "你的App Key" app_secret = "你的App Secret" num_iid = "商品ID" # 替換為實(shí)際商品ID # 構(gòu)造請(qǐng)求參數(shù) 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 # 發(fā)送請(qǐng)求 response = requests.get("https://eco.taobao.com/router/rest", params=params) result = response.json() # 解析SKU數(shù)據(jù) 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']}, 價(jià)格: {sku['price']}, 庫存: {sku['quantity']}")
3. 數(shù)據(jù)存儲(chǔ)
- 保存為CSV: python 體驗(yàn)AI代碼助手 代碼解讀復(fù)制代碼python import csv with open("skus.csv", "w", newline='', encoding='utf-8') as f: writer = csv.writer(f) writer.writerow(["商品ID", "SKU屬性", "價(jià)格", "庫存"]) for sku in skus: writer.writerow([num_iid, sku['properties'], sku['price'], sku['quantity']])
二、第三方工具方案(備選)
1. 工具選擇
- 鼎點(diǎn)數(shù)據(jù):支持淘寶/天貓SKU價(jià)格監(jiān)控,提供API接口。
- 奇點(diǎn)數(shù)據(jù):實(shí)時(shí)價(jià)格預(yù)警,適合競(jìng)品分析。
2. 使用步驟
- 注冊(cè)工具賬號(hào),綁定淘寶店鋪。
- 配置監(jiān)控任務(wù):輸入商品鏈接,選擇SKU監(jiān)控字段。
- 導(dǎo)出數(shù)據(jù):通過工具后臺(tái)下載CSV或調(diào)用API獲取數(shù)據(jù)。
三、注意事項(xiàng)
- 合規(guī)性: 遵守淘寶開放平臺(tái)調(diào)用規(guī)則,避免高頻調(diào)用(建議QPS≤1)。 禁止聚合多店鋪數(shù)據(jù),僅限授權(quán)店鋪使用。
- 錯(cuò)誤處理: 簽名錯(cuò)誤:檢查參數(shù)排序及MD5計(jì)算。 權(quán)限不足:在開放平臺(tái)提交API權(quán)限申請(qǐng)。
- 性能優(yōu)化: 批量處理:通過taobao.items.onsale.get獲取商品列表,再逐個(gè)調(diào)用SKU接口。 緩存機(jī)制:對(duì)已獲取的SKU數(shù)據(jù)緩存,減少重復(fù)請(qǐng)求。
四、實(shí)戰(zhàn)案例:批量獲取某店鋪商品SKU
1. 場(chǎng)景
- 需求:獲取某淘寶店鋪所有在售商品的SKU信息。
- 步驟: 調(diào)用taobao.items.onsale.get獲取商品列表。 遍歷商品ID,調(diào)用taobao.item.sku.get獲取每個(gè)商品的SKU。 合并數(shù)據(jù)并保存。
2. 代碼示例(簡(jiǎn)化版)
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"] = sign
response = requests.get("https://eco.taobao.com/router/rest", params=params)
return response.json().get("items_onsale_get_response", {}).get("items", {}).get("item", [])
# 批量獲取SKU
app_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) # 調(diào)用前文函數(shù)
all_skus.extend(skus)
# 保存數(shù)據(jù)
with open("all_skus.csv", "w", newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(["商品ID", "商品標(biāo)題", "SKU屬性", "價(jià)格", "庫存"])
for sku in all_skus:
writer.writerow([sku["num_iid"], sku["title"], sku["properties"], sku["price"], sku["quantity"]])
五、總結(jié)
通過淘寶開放平臺(tái)API可合法、高效地批量獲取商品SKU信息,適用于數(shù)據(jù)分析、庫存管理等場(chǎng)景。需嚴(yán)格遵守平臺(tái)規(guī)范,合理控制請(qǐng)求頻率,確保數(shù)據(jù)合規(guī)性。第三方工具可作為補(bǔ)充方案,但需注意數(shù)據(jù)授權(quán)與隱私保護(hù)。
作者:藍(lán)傾
鏈接:https://juejin.cn/post/7524641787418443815
來源:稀土掘金
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。