淘宝/天猫商品数据爬取全攻略:官方API + 非官方接口双通道实战

2025 年最新版:从 0 到 1 拿下 100+ 字段(含销量、评论、券后价),附完整代码与防封清单。


一、总览:两条路线怎么选?

维度官方API非官方接口
合规性✅ 淘宝签约,数据授权⚠️ 违反《反爬协议》风险
数据完整度70%(无真实销量、无评论)95%(销量、评论、SKU图)
调用成本免费/阶梯计费,需企业资质免费,需技术对抗
适用场景长期稳定、ToB 应用快速验证、竞品监控
开发周期1–2 d(资质齐全)3–5 d(需逆向+加固)

结论:“官方打底,非官方补位”——用 API 拿 70% 基础数据,网页/小程序补 30% 高阶字段,兼顾合规与丰富度。


二、官方API 通道:三步拿下合规数据

2.1 准备资质

  1. 注册淘宝注册平台 → 企业实名 → 创建应用

  2. 申请 item:read 权限,审核 1–3 个工作日

  3. 获取 App Key / Secret & 30 天有效的 session_key(OAuth2.0)

2.2 高频接口清单

接口字段亮点日限额
taobao.item.get标题、主图、类目、价格、30 天销量 volume5 万
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”

  1. 抓包 → 复现 x-mini-wua / x-appkey / x-sign 算法

  2. 使用 frida-tracelibsgmain.so 加密函数 hook 出来

  3. mitmproxy + 真机 把完整 Cookie + 设备字串一次性导出

  4. 通过 ** 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 条军规

  1. 官方通道:严格按 QPS 令牌桶 限速,超频立即被拉黑 24 h

  2. 非官方通道:

    • 同一 x-uid 1 h 内 ≤ 600 次

    • 4G 代理池 ≥ 200 节点,轮转时保持 IP 与 GPS 属地一致

    • 失败率 > 8 % 自动停爬,邮件告警

  3. 存储侧:

    • 商品图片 只存 URL,不落地文件,避免版权争议

    • 用户昵称、手机号 一律脱敏(MD5 加盐)

  4. 法律侧:

    • 在醒目位置加 “数据来源于公开网页,如有侵权请联系删除”

    • 不向外提供单条用户评论原文,仅输出聚合统计


六、成本 & 收益复盘(百万 SKU/月)

项目费用备注
淘宝开放平台0 元淘客 API 免费额度足够
4G 旋转代理1 200 元200 口,包月
云函数 + Redis600 元每日 2 次全量
人力 1 人月15 k含逆向 + 运维
合计≈ 1.8 k/月百万 SKU 级,平均 0.002 元/SKU

七、结语:双通道不是“备胎”,而是“保险”

  • 官方 API 拿 70 % 基础数据,稳、快、不踩红线

  • 非官方接口 补 30 % 高阶字段,赢在市场洞察深度

  • 把“限速、脱敏、降级”做成 CI 模板,后续换任何平台都能 1 h 上线

把这套组合拳跑通,你就能在“合规”与丰富度之间找到最优解——白天睡大觉,数据照样实时进仓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值