×

淘宝

淘宝商品详情api轻松获取主图

admin admin 发表于2026-02-02 15:45:12 浏览15 评论0

抢沙发发表评论

通过淘宝 taobao.get接口可轻松获取商品主图(单张主图 + 多轮播主图),该接口个人可申请、权限门槛低、调用简单 ,主图相关字段直接返回高清 URL,无需额外解析,以下是极简实现方案,含核心字段说明、主图提取技巧:
一、核心前提(3 分钟准备)

  1. 注册淘宝key并认证,创建应用获取app_keyapp_secret个人账号即可);

  2. 准备待获取主图的商品 ID(num_iid) (从淘宝商品页 URL 提取,如https://item.taobao.com/item.htm?id=652874751412后的数字)。

二、核心主图字段(接口直接返回,无需额外处理)
该接口返回** 类主图相关字段**,满足不同展示需求,均为高清 URL(默认像素,可直接访问 / 引用),字段说明如下:

字段名含义用途示例
pic_url商品首张主图URL商品列表页 / 缩略图展示直接复制即可访问高清图
item_imgs商品轮播主图数组商品详情页轮播展示含首张主图 + 其余角度图

三、极简代码实现(直接复用,仅需替换 3 个参数)

import requests
import time
import hashlib
import urllib.parse

# ---------------------- 只需替换这3个参数 ----------------------
APP_KEY = "你的key"
APP_SECRET = "你的app_secret"
ITEM_ID = "652874751412"  # 要获取主图的商品ID
# -------------------------------------------------------------

def generate_sign(params, app_secret):
    """生成淘宝API签名(固定逻辑,无需修改)"""
    sorted_params = sorted(params.items(), key=lambda x: x[0])
    sign_str = "&".join([f"{k}={urllib.parse.quote_plus(str(v), 'utf-8')}" for k, v in sorted_params])
    sign_str = app_secret + sign_str + app_secret
    return hashlib.md5(sign_str.encode()).hexdigest().upper()

def get_taobao_main_img():
    """获取商品首张主图+轮播主图"""
    params = {
        "app_key": APP_KEY,
        "method": "taobao.tbk.item.info.get",
        "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
        "v": "2.0",
        "format": "json",
        "platform": 2,  # 2=无线端,主图更适配移动端
        "num_iids": ITEM_ID  # 支持多ID,逗号分隔如"652874751412,1234567890"
    }
    # 生成签名
    params["sign"] = generate_sign(params, APP_SECRET)
    # 调用接口
    response = requests.post("https://gw.api.taobao.com/router/rest", data=params, timeout=10)
    result = response.json()
    # 提取主图
    item = result["tbk_item_info_get_response"]["results"]["n_tbk_item"][0]
    main_img = item["pic_url"]  # 首张主图URL
    carousel_imgs = [img["url"] for img in item["item_imgs"]]  # 轮播主图URL数组
    # 输出结果
    print(f"商品首张主图URL:\n{main_img}\n")
    print(f"商品轮播主图URL列表(共{len(carousel_imgs)}张):")
    for idx, img in enumerate(carousel_imgs, 1):
        print(f"{idx}. {img}")

if __name__ == "__main__":
    get_taobao_main_img()


四、运行结果示例(直接复制 URL 即可用)
商品首张主图URL:

商品首张主图URL:
https://img.alicdn.com/imgextra/i4/220987654321/O1CN0123456789abcdef_!!220987654321.jpg

商品轮播主图URL列表(共6张):
1. https://img.alicdn.com/imgextra/i4/220987654321/O1CN0123456789abcdef_!!220987654321.jpg
2. https://img.alicdn.com/imgextra/i2/220987654321/O1CN01abcdef12345678_!!220987654321.jpg
3. https://img.alicdn.com/imgextra/i3/220987654321/O1CN01xyz7890abcd123_!!220987654321.jpg
...

五、实用技巧(轻松扩展)
1. 批量获取主图
只需将ITEM_ID改为逗号分隔的多商品 ID(如"652874751412,987654321098"),接口单次最多支持20 个商品 ID,批量提取效率拉满。
2. 主图尺寸自定义
淘宝主图 URL 支持按需修改尺寸,在 URL 末尾拼接_nxXy.jpg(X/Y 为像素值),例如:

  • 原图 800×800:xxx.jpg

  • 缩略图 300×300:xxx_300x300.jpg

  • 高清图 1000×1000:xxx_1000x1000.jpg

3. 主图本地下载
若需将主图保存到本地,添加几行代码即可,示例(下载首张主图):
# 接上面代码,提取main_img后 img_response = requests.get(main_img) with open("淘宝商品主图.jpg", "wb") as f: f.write(img_response.content) print("首张主图已下载到本地!")
六、关键注意事项(避坑 + 合规)

  1. 调用频率:个人账号默认1 次 / 秒、10 万次 / 日,轻量获取(单 / 批量)完全够用,无需额外控频;

  2. 合规使用:主图可用于选品展示、导购推广、个人分析,不得擅自盗图用于商用(如店铺上架、印刷品),避免侵权;

  3. 空值处理:极少数商品无轮播主图,item_imgs仅返回 1 张(首张主图);

  4. 商品有效性:若商品下架 / 违规,接口会返回空数据,可添加简单判断:if not item: print("商品无效,无法获取主图")

总结
获取淘宝商品主图的核心就是调用淘宝taobao.get接口,提取pic_url(首张)和item_imgs(轮播)字段

群贤毕至

访客