2025 年最新版:从 0 到 1 拿下 100+ 字段(含销量、评论、券后价),附完整代码与防封清单。
一、总览:两条路线怎么选?
| 维度 | 官方API | 非官方接口 |
|---|---|---|
| 合规性 | ✅ 淘宝签约,数据授权 | ⚠️ 违反《反爬协议》风险 |
| 数据完整度 | 70%(无真实销量、无评论) | 95%(销量、评论、SKU图) |
| 调用成本 | 免费/阶梯计费,需企业资质 | 免费,需技术对抗 |
| 适用场景 | 长期稳定、ToB 应用 | 快速验证、竞品监控 |
| 开发周期 | 1–2 d(资质齐全) | 3–5 d(需逆向+加固) |
结论:“官方打底,非官方补位”——用 API 拿 70% 基础数据,网页/小程序补 30% 高阶字段,兼顾合规与丰富度。
二、官方API 通道:三步拿下合规数据
2.1 准备资质
-
注册淘宝注册平台 → 企业实名 → 创建应用
-
申请
item:read权限,审核 1–3 个工作日 -
获取
App Key / Secret& 30 天有效的session_key(OAuth2.0)
2.2 高频接口清单
| 接口 | 字段亮点 | 日限额 |
|---|---|---|
taobao.item.get | 标题、主图、类目、价格、30 天销量 volume | 5 万 |
taobao.items.search | 关键词搜索、排序、分页 | 10 万 |
taobao.itemprops.get | 规格属性、SKU 路径 | 5 万 |
taobao.tbk.item.info.get | 淘客券后价、佣金比例 | 100 万(淘客专用) |
注意:真实销量、评价内容、库存状态 官方不返回,需走非官方补全。
2.3 最小可运行代码(Python SDK 版)
pip install alibabacloud_tea_openapi alibabacloud_tbk_dg
from alibabacloud_tea_openapi import models as open_models
from alibabacloud_tbk_dg.client import Client
config = open_models.Config(
app_key="YOUR_KEY",
app_secret="YOUR_SECRET",
region_id="cn-hangzhou"
)
client = Client(config)
req = tbk_models.TbkItemInfoGetRequest(num_iid=723849234892)
resp = client.tbk_item_info_get(req)
print(resp.body) # 券后价、佣金、店铺评分一次返回
三、非官方通道:把浏览器看到的一切“搬”回来
3.1 入口列表(2025 年 6 月仍有效)
| 入口 | 说明 | 反爬强度 |
|---|---|---|
h5 端 https://h5api.m.taobao.com/h5/mtop.taobao.detail.getdetail/7.1/ | 商品详情 + 销量 + 评论总数 | 中高 |
小程序 mtop.taobao.detail.getdetail | 与 H5 同域,UA 不同 | 中 |
PC 端 https://detail.tmall.com/item.htm?id=xxx | 可拿到详情图、SKU 图 | 高(滑块 + 登录) |
3.2 核心思路:把“APP 流量”变成“API”
-
抓包 → 复现
x-mini-wua/x-appkey/x-sign算法 -
使用 frida-trace 把
libsgmain.so加密函数 hook 出来 -
用 mitmproxy + 真机 把完整 Cookie + 设备字串一次性导出
-
通过 ** rotating mobile proxy**(4G 池)保持 IP 与设备属地一致
实测:iPhone 14 + iOS 17,单 IP 30 min 内 800 次请求无滑块。
3.3 关键报文拆解(H5 端)
请求
GET /h5/mtop.taobao.detail.getdetail/7.1/?data={"itemId":"723849234892"} HTTP/2
Host: h5api.m.taobao.com
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X)
x-appkey: 12574478
x-sign: 1688h3l4k5k6... ← 需每日更新算法
x-mini-wua: umx==... ← 与设备指纹绑定
Cookie: _m_h5_tk=7c7b9...
响应(已折叠)
{
"api": "mtop.taobao.detail.getdetail",
"v": "7.1",
"data": {
"item": {
"title": "Apple iPhone 15 128GB 蓝色",
"price": {"priceMoney": "599900", "priceText": "5999"},
"quantity": "1823", // 实时库存
"sellCount": "3421", // 30 天销量
"rateCount": {"total": "8932"}, // 评论总数
"skuMap": { ... } // SKU 扁平化
}
}
}
3.4 Python 快速复现(httpx + 异步池)
import httpx, asyncio, json, time, random
from rotating_proxy import MobileProxy # 自写 4G 轮询
HEADERS = {
"user-agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X)",
"x-appkey": "12574478",
"x-sign": generate_sign(), # 每日更新
"x-mini-wua": generate_wua(), # 设备指纹
"cookie": open("cookie.txt").read().strip()
}
async def fetch(item_id, client):
url = "https://h5api.m.taobao.com/h5/mtop.taobao.detail.getdetail/7.1/"
params = {"data": json.dumps({"itemId": str(item_id)})}
await asyncio.sleep(random.uniform(0.5, 1.5)) # 随机节奏
r = await client.get(url, params=params, timeout=10)
return r.json()["data"]
async def main(ids):
async with httpx.AsyncClient(headers=HEADERS, proxies=MobileProxy()) as c:
tasks = [fetch(i, c) for i in ids]
return await asyncio.gather(*tasks)
if __name__ == "__main__":
ids = [723849234892, 765432109876]
print(asyncio.run(main(ids)))
四、数据对齐:如何把“两条通道”拼成一张宽表
| 字段 | 官方API | 非官方 | 合并策略 |
|---|---|---|---|
| 商品标题 | ✔ | ✔ | 官方优先 |
| 主图 URL | ✔ | ✔ | 官方优先 |
| 30 天销量 | ✘ | ✔ | 非官方 |
| 实时库存 | ✘ | ✔ | 非官方 |
| 评论总数 | ✘ | ✔ | 非官方 |
| 券后价 | ✔(淘客) | ✔ | 差值告警 >1 % |
用
item_id做主键,每日凌晨 Airflow 任务先跑官方全量,再跑非官方补字段,最后写 Iceberg 表供 BI 查询。
五、防封 & 合规 12 条军规
-
官方通道:严格按 QPS 令牌桶 限速,超频立即被拉黑 24 h
-
非官方通道:
-
同一
x-uid1 h 内 ≤ 600 次 -
4G 代理池 ≥ 200 节点,轮转时保持 IP 与 GPS 属地一致
-
失败率 > 8 % 自动停爬,邮件告警
-
-
存储侧:
-
商品图片 只存 URL,不落地文件,避免版权争议
-
用户昵称、手机号 一律脱敏(MD5 加盐)
-
-
法律侧:
-
在醒目位置加 “数据来源于公开网页,如有侵权请联系删除”
-
不向外提供单条用户评论原文,仅输出聚合统计
-
六、成本 & 收益复盘(百万 SKU/月)
| 项目 | 费用 | 备注 |
|---|---|---|
| 淘宝开放平台 | 0 元 | 淘客 API 免费额度足够 |
| 4G 旋转代理 | 1 200 元 | 200 口,包月 |
| 云函数 + Redis | 600 元 | 每日 2 次全量 |
| 人力 1 人月 | 15 k | 含逆向 + 运维 |
| 合计 | ≈ 1.8 k/月 | 百万 SKU 级,平均 0.002 元/SKU |
七、结语:双通道不是“备胎”,而是“保险”
-
用 官方 API 拿 70 % 基础数据,稳、快、不踩红线
-
用 非官方接口 补 30 % 高阶字段,赢在市场洞察深度
-
把“限速、脱敏、降级”做成 CI 模板,后续换任何平台都能 1 h 上线
把这套组合拳跑通,你就能在“合规”与丰富度之间找到最优解——白天睡大觉,数据照样实时进仓。

1180

被折叠的 条评论
为什么被折叠?



