Python 爬虫实战:获取淘宝商品详情(标题、主图、SKU、价格)完整接口方案

admin2个月前淘宝api119
做电商数据采集、选品分析、店铺监控时,淘宝商品详情、标题、主图、SKU、价格是核心数据。但淘宝有强反爬、动态渲染、签名校验,直接爬取 HTML 极易失效,调用官方 / 稳定的 API 接口才是高效、稳定、长期可用的方案。
这篇文章从零到一,教你用 Python 快速获取淘宝全量商品数据,代码可直接复用,适配绝大多数淘宝商品。

一、核心说明(必看)

  1. 不推荐直接爬虫:淘宝 PC / 移动端页面加密、JS 动态渲染、Cookie 校验严格,纯爬虫维护成本极高;

  2. 最优方案:使用电商数据 API 接口(合规、稳定、免逆向、免处理反爬);

  3. 本教程目标:一行代码调用接口,获取:

    • 商品标题

    • 商品主图(多张)

    • SKU 规格(颜色、尺寸、套餐等)

    • 实时价格 / 优惠价

    • 商品详情图 / 描述

    • 店铺信息等


二、准备工作

1. 依赖安装

只需要 Python 内置库,无需额外复杂依赖:
bash
运行
# 仅需要 requests 发送请求pip install requests

2. 获取 API 调用参数

你需要:
  • API 请求地址

  • 授权参数(token/appKey)

  • 商品 ID(淘宝商品链接中的id=xxxx

本文使用通用标准化电商数据 API,适配淘宝 / 天猫全品类商品。

三、完整 Python 代码(直接运行)

功能:传入商品 ID → 返回 JSON 结构化数据

python
运行
import requestsimport jsondef get_taobao_item_detail(num_iid):
    """
    获取淘宝商品详情数据
    :param num_iid: 淘宝商品ID (字符串/数字均可)
    :return: 商品标题、主图、SKU、价格、详情等数据
    """
    # ===================== 配置信息 =====================
    API_URL = "https://api-xxx.com/taobao/item_detail"  # 替换为你的API地址
    API_TOKEN = "你的授权TOKEN"  # 替换为你的授权密钥
    # ====================================================
    
    # 请求参数
    params = {
        "token": API_TOKEN,
        "num_iid": num_iid,  # 商品ID
        "platform": "taobao"
    }

    try:
        # 发送GET请求
        response = requests.get(API_URL, params=params, timeout=15)
        # 解析JSON
        result = response.json()
        
        # 判断请求是否成功
        if result.get("code") == 200 or result.get("success") is True:
            data = result.get("data", {})
            return data        else:
            print(f"请求失败:{result.get('msg', '未知错误')}")
            return None
            
    except Exception as e:
        print(f"请求异常:{str(e)}")
        return None# ===================== 使用示例 =====================if __name__ == '__main__':
    # 淘宝商品ID(从链接中提取:https://item.taobao.com/item.htm?id=794321xxxx)
    ITEM_ID = "794321xxxxxx"
    
    # 获取数据
    item_data = get_taobao_item_detail(ITEM_ID)
    
    if item_data:
        # 1. 提取商品标题
        title = item_data.get("title", "无标题")
        print("="*50)
        print(f"商品标题:{title}")
        
        # 2. 提取价格(原价/现价)
        price = item_data.get("price", "无价格")
        org_price = item_data.get("org_price", "无原价")
        print(f"售价:{price}  原价:{org_price}")
        
        # 3. 提取主图列表
        images = item_data.get("images", [])
        print(f"\n主图总数:{len(images)}")
        for i, img in enumerate(images, 1):
            print(f"主图{i}:{img}")
        
        # 4. 提取SKU数据(规格+价格+库存)
        sku_list = item_data.get("sku_list", [])
        print(f"\nSKU规格总数:{len(sku_list)}")
        for sku in sku_list:
            sku_name = sku.get("sku_name", "无规格")
            sku_price = sku.get("price", "无价格")
            sku_stock = sku.get("stock", "无库存")
            print(f"规格:{sku_name} | 价格:{sku_price} | 库存:{sku_stock}")
        
        # 5. 保存完整JSON到本地(方便查看)
        with open("taobao_item_detail.json", "w", encoding="utf-8") as f:
            json.dump(item_data, f, ensure_ascii=False, indent=2)
        
        print("\n✅ 数据抓取完成!已保存到 taobao_item_detail.json")

四、返回字段说明(你需要的核心数据)

调用成功后,API 会返回结构化 JSON,直接提取即可:
字段名说明
title商品完整标题
price实时销售价格
org_price划线原价
images主图列表(数组,可直接下载)
detail_images详情页图片列表
sku_listSKU 数组(包含规格名、价格、库存、图片)
shop_name店铺名称
num_iid商品 ID

SKU 数据格式示例:


  "sku_id": "123456",
  "sku_name": "颜色:黑色 尺寸:L",
  "price": "129.00",
  "stock": 356,
  "sku_image": "https://xxx.jpg"}

五、如何提取淘宝商品 ID?

打开任意淘宝商品链接:
  • 链接格式:https://item.taobao.com/item.htm?id=794321888888

  • id= 后面的数字就是商品 ID


六、为什么推荐用 API 而不是纯爬虫?

  1. 稳定:不受淘宝页面更新、JS 加密、反爬策略影响;

  2. 高效:1 次请求拿到所有数据,无需解析 HTML、无需处理渲染;

  3. 完整:直接返回 SKU、价格、主图、详情,结构清晰;

  4. 低成本:无需学习爬虫逆向、无需搭建 IP 池、无需处理 Cookie。


七、扩展功能(可直接加在代码里)

1. 批量下载商品主图

python
import requestsimport osdef download_images(images, save_dir="taobao_images"):
    if not os.path.exists(save_dir):
        os.mkdir(save_dir)
    
    for i, img_url in enumerate(images, 1):
        try:
            img_data = requests.get(img_url, timeout=10).content            with open(f"{save_dir}/{i}.jpg", "wb") as f:
                f.write(img_data)
            print(f"已下载:主图{i}")
        except:
            print(f"下载失败:主图{i}")# 调用# download_images(item_data.get("images", []))

2. 批量采集商品列表

循环调用函数,传入多个商品 ID 即可批量采集。

八、注意事项(合规)

  1. 本教程使用正规电商数据 API,用于学习、选品分析;

  2. 请勿用于商业爬虫、恶意批量采集、侵犯商家数据权益;

  3. 遵守《网络安全法》《电商法》,合法使用数据。


总结

Python + 淘宝数据 API 是获取商品标题、主图、SKU、价格最简单、最稳定的方案;✅ 代码复制即可运行,无需处理反爬、加密、渲染;

✅ 支持淘宝 / 天猫全品类商品,实时数据,准确率 100%。

如果你需要API 接口地址、测试 TOKEN,或者想定制批量采集、自动入库、GUI 工具,可以直接告诉我,我帮你完善!


如遇任何疑问或有进一步的需求,请随时与我私信或者评论联系。


相关文章

开发者必看:淘宝 Item_get API 接入详解与常见错误排查

在电商平台开发中,接入淘宝 API 是获取商品数据的重要途径。其中,Item_get API 是最常用的接口之一,用于获取淘宝商品的详细信息。本文将详细介绍如何接入淘宝 Item_get API,并提...

调用淘宝API接口获取商品类目:完整开发指南

一、概述淘宝商品类目是电商平台最基础的数据结构之一,它决定了商品在平台上的展示方式、属性规则以及搜索推荐逻辑。淘宝开放平台提供了多个类目相关API接口,开发者可以通过这些接口获取完整的类目体系、类目属...

Java获取淘宝商品详情数据的实战指南

一、引言淘宝作为国内领先的电商平台,拥有海量的商品数据。对于开发者和数据分析师来说,获取淘宝商品详情数据对于市场分析、价格监控、用户体验优化等场景具有重要意义。本文将详细介绍如何使用Java编写爬虫程...

淘宝 API 接口获取教程

淘宝开放平台提供了丰富的 API 接口,帮助开发者获取淘宝平台的数据。以下是详细的获取方法和使用流程:一、注册与认证注册账号:访问淘宝开放平台官网,完成个人或企业开发者账号注册。实名认证:注册成功后,...

Python获取淘宝商品详情数据SKU接口

在电商领域,淘宝作为国内领先的电商平台,拥有海量的商品和丰富的店铺数据。对于开发者和数据分析师来说,能够获取淘宝商品的SKU(Stock Keeping Unit,库存进出计量的基本单元)详情数据至关...

独立站铺货1688商品:开启跨境电商业务的新篇章

在跨境电商的浪潮中,独立站铺货1688商品已成为许多卖家的热门选择。1688作为中国领先的批发平台,提供了丰富的商品资源,而独立站则提供了自主运营、品牌建设和数据管理等优势。本文将详细介绍如何将168...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。