這個(gè)問題非常好問對了方向 ??。
不過要注意:淘寶商品詳情接口屬于阿里巴巴系的私有接口,不提供公開訪問(淘寶防爬非常嚴(yán)),所以你不能直接用普通的 HTTP 爬蟲請求 item.taobao.com
頁面去拿詳情數(shù)據(jù),會被各種加密參數(shù)(_m_h5_tk
, sign, data, t)擋住。
不過我們可以有三種合法、安全的實(shí)現(xiàn)方式??:
一、使用 淘寶開放平臺(阿里媽媽/阿里云)官方API
這是最穩(wěn)定、合規(guī)的方式,官方提供商品搜索、詳情、推廣等API。
官方地址:
常用API接口:
功能 | 接口名 | 說明 |
---|---|---|
商品詳情 | taobao.tbk.item.info.get | 獲取淘寶客商品詳情 |
商品搜索 | taobao.tbk.item.get | 搜索商品列表 |
商品詳情(通用) | taobao.tbk.item.info.get | 根據(jù) num_iids 獲取商品詳情 |
示例:Python 獲取商品詳情
import requests
import json
import time
import hashlib
# 你的 app_key 和 app_secret 從淘寶開放平臺申請
app_key = '你的AppKey'
app_secret = '你的AppSecret'
def sign(params):
# 簽名算法(TOP API標(biāo)準(zhǔn)簽名)
items = sorted(params.items())
query = app_secret + ''.join(f'{k}{v}' for k, v in items) + app_secret
return hashlib.md5(query.encode('utf-8')).hexdigest().upper()
def get_taobao_item_info(num_iid):
url = "https://eco.taobao.com/router/rest"
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,
'session': '', # 不需要授權(quán)的接口可以留空
}
params['sign'] = sign(params)
resp = requests.get(url, params=params)
return resp.json()
# 示例:獲取一個(gè)商品詳情
result = get_taobao_item_info("1234567890123")
print(json.dumps(result, indent=2, ensure_ascii=False))
輸出示例:
{
"tbk_item_info_get_response": {
"results": {
"n_tbk_item": [
{
"title": "Apple iPhone 15 Pro Max 手機(jī)",
"pict_url": "https://img.alicdn.com/...",
"zk_final_price": "8999.00",
"item_url": "https://item.taobao.com/item.htm?id=1234567890123"
}
]
}
}
}
二、使用阿里云的 “淘寶聯(lián)盟API” 服務(wù)(更簡單)
阿里云提供的「淘寶客開放平臺」API代理服務(wù):
?? https://market.aliyun.com/products/56928004/cmapi014417.html
直接購買后會得到一個(gè)公共的 API Key
,可以像下面這樣用:
import requests
url = "https://api.taobaoapi.com/item_get"
params = {
"apikey": "你的APIKey",
"item_id": "1234567890123"
}
res = requests.get(url, params=params)
print(res.json())
輸出會包括標(biāo)題、主圖、銷量、價(jià)格、優(yōu)惠券等字段。
三、如果你是要自建爬蟲調(diào)試數(shù)據(jù)
淘寶詳情頁的真實(shí)數(shù)據(jù)是在:
https://h5api.m.taobao.com/h5/mtop.taobao.detail.getdetail/6.0/?data=...
但它有以下問題:
- 需要 _m_h5_tk 與 sign 參數(shù)(JS動(dòng)態(tài)生成)
- Cookie 有時(shí)效性強(qiáng)(幾分鐘失效)
- 頁面字段全是加密字段名(apiStack, item, skuBase)
這類方式可以用于研究與學(xué)習(xí),但不建議用于生產(chǎn)或商用,容易被封禁賬號或IP。
推薦總結(jié)
需求 | 推薦方案 | 穩(wěn)定性 | 合規(guī)性 |
---|---|---|---|
獲取正式商品詳情 | ? 淘寶開放平臺 API | ????? | ? 官方 |
快速使用測試 | ? 阿里云淘寶API代理 | ???? | ? 合法 |
學(xué)習(xí)爬蟲加密逆向 | ?? 模擬 H5 mtop 接口 | ? | ? 高風(fēng)險(xiǎn) |