好的 ??
以下是一個(gè)完整、可直接運(yùn)行的 淘寶商品詳情 Python SDK 示例(含簽名函數(shù)),
完全符合淘寶開放平臺(tái)官方接口規(guī)范。
?? 一、功能說(shuō)明
本示例演示如何通過(guò) 淘寶開放平臺(tái) API 調(diào)用taobao.tbk.item.info.get
接口,獲取商品詳情。
?? 二、示例代碼
import requests
import hashlib
import time
import json
# ======【1】請(qǐng)?jiān)谶@里填寫你自己的AppKey與AppSecret ======
APP_KEY = "你的AppKey"
APP_SECRET = "你的AppSecret"
# ======【2】TOP API簽名算法 ======
def sign_taobao(params: dict) -> str:
"""
按照淘寶TOP規(guī)范生成簽名
"""
# 1. 對(duì)所有參數(shù)按字母排序
sorted_params = sorted(params.items())
# 2. 拼接成 keyvalue 字符串
query_str = APP_SECRET + ''.join(f"{k}{v}" for k, v in sorted_params) + APP_SECRET
# 3. MD5加密并轉(zhuǎn)大寫
sign = hashlib.md5(query_str.encode('utf-8')).hexdigest().upper()
return sign
# ======【3】發(fā)起淘寶API請(qǐng)求 ======
def get_taobao_item_info(num_iid: str):
"""
調(diào)用淘寶客接口獲取商品詳情
"""
url = "https://eco.taobao.com/router/rest"
# 公共參數(shù)
params = {
"method": "taobao.tbk.item.info.get",
"app_key": APP_KEY,
"timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
"format": "json",
"v": "2.0",
"sign_method": "md5",
"num_iids": num_iid, # 商品ID,可傳多個(gè)逗號(hào)分隔
}
# 生成簽名
params["sign"] = sign_taobao(params)
# 發(fā)起請(qǐng)求
resp = requests.get(url, params=params)
data = resp.json()
# 返回結(jié)果
return data
# ======【4】示例調(diào)用 ======
if __name__ == "__main__":
# 示例商品ID(替換成實(shí)際的)
num_iid = "1234567890123"
print("正在獲取淘寶商品詳情,請(qǐng)稍候...\n")
result = get_taobao_item_info(num_iid)
# 美化輸出
print(json.dumps(result, indent=2, ensure_ascii=False))
三、返回結(jié)果示例
{
"tbk_item_info_get_response": {
"results": {
"n_tbk_item": [
{
"num_iid": 1234567890123,
"title": "Apple iPhone 15 Pro Max 手機(jī)",
"pict_url": "https://img.alicdn.com/imgextra/i1/xxx.jpg",
"small_images": {
"string": [
"https://img.alicdn.com/imgextra/i1/xxx.jpg",
"https://img.alicdn.com/imgextra/i2/xxx.jpg"
]
},
"reserve_price": "9999.00",
"zk_final_price": "8999.00",
"item_url": "https://item.taobao.com/item.htm?id=1234567890123"
}
]
}
}
}
?? 四、使用前準(zhǔn)備
- 前往 淘寶開放平臺(tái) 注冊(cè)并創(chuàng)建應(yīng)用;
- 獲取 AppKey 和 AppSecret;
- 若使用淘寶客類API(tbk),需開通淘寶聯(lián)盟賬號(hào)。
?? 可擴(kuò)展接口示例
你還可以替換 method
調(diào)用其它接口:
功能 | 接口名 | 說(shuō)明 |
---|---|---|
商品搜索 | taobao.tbk.item.get | 搜索淘寶商品 |
商品詳情 | taobao.tbk.item.info.get | 獲取單個(gè)商品詳情 |
商品優(yōu)惠券 | taobao.tbk.coupon.get | 獲取優(yōu)惠券信息 |
商品鏈接轉(zhuǎn)化 | taobao.tbk.tpwd.create | 創(chuàng)建淘口令 |
是否希望我?guī)湍惆堰@個(gè)示例擴(kuò)展成一個(gè) 可復(fù)用的類 SDK(帶商品詳情、搜索、優(yōu)惠券)?
那樣你可以像下面這樣用??:
tao = TaobaoSDK(APP_KEY, APP_SECRET)
info = tao.get_item_info("1234567890123")
search = tao.search_items("藍(lán)牙耳機(jī)")