利用京东商品详情 ID(即 SKU ID)获取商品详细信息

各大电商API接口——>19970108118
• 阅读 21

利用京东商品详情 ID(即 SKU ID)获取商品详细信息,可通过京东开放平台官方 API 或非官方接口(逆向解析)实现。以下是两种方式的示例展示,包含代码实现与数据解析:

一、核心概念:京东商品 ID(SKU ID)

京东商品详情页 URL 格式为:https://item.jd.com/[SKU_ID].html 例如:https://item.jd.com/100032608854.html 中,100032608854 即为 SKU ID。

二、方式一:京东开放平台官方 API(推荐,合规稳定)

  1. 准备工作

注册京东开放平台开发者账号:https://open.jd.com/ 创建应用,获取 app_key 和 app_secret

  1. 接口调用示例(Python)

import requests import time import hashlib import json

class JDProductAPI: def init(self, app_key, app_secret): self.app_key = app_key self.app_secret = app_secret self.url = "https://api.jd.com/routerjson" # 官方API网关

def _sign(self, params):
    """生成签名(京东API签名规则)"""
    sorted_params = sorted(params.items(), key=lambda x: x[0])
    sign_str = self.app_secret
    for k, v in sorted_params:
        sign_str += f"{k}{v}"
    sign_str += self.app_secret
    return hashlib.md5(sign_str.encode()).hexdigest().upper()

def get_product_detail(self, sku_id):
    """获取商品详情"""
    params = {
        "method": "biz.product.detail.get",  # 商品详情接口
        "app_key": self.app_key,
        "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
        "format": "json",
        "v": "1.0",
        "360buy_param_json": json.dumps({"skuId": sku_id})  # 商品ID参数
    }
    params["sign"] = self._sign(params)

    response = requests.get(self.url, params=params)
    return response.json()

使用示例

if name == "main": # 替换为你的app_key和app_secret # 封装好API供应商demo url=o0b.cn/ibrad app_key = "你的app_key" app_secret = "你的app_secret" sku_id = "100032608854" # 商品SKU ID

jd_api = JDProductAPI(app_key, app_secret)
result = jd_api.get_product_detail(sku_id)

# 解析核心数据
if result.get("success"):
    product = result["result"]["data"]["product"]
    print(f"商品名称:{product['name']}")
    print(f"当前价格:¥{product['price']['jdPrice']['price']}")
    print(f"原价:¥{product['price']['marketPrice']}")
    print(f"店铺名称:{product['shopInfo']['shopName']}")
    print(f"商品标签:{[tag['name'] for tag in product.get('tags', [])]}")
    print(f"库存状态:{product['stock']['stockStateName']}")
else:
    print(f"获取失败:{result.get('errorMessage')}")
  1. 官方 API 返回核心字段

字段路径

说明

示例值

product.name

商品名称

"Apple iPhone 14 128GB"

product.price.jdPrice.price

当前售价

5999.00

product.price.marketPrice

市场价(原价)

6999.00

product.shopInfo.shopName

店铺名称

"Apple 京东自营旗舰店"

product.stock.stockStateName

库存状态

"有货"

product.skuAttrs.skuAttr

SKU 属性(颜色 / 尺寸等)

[{"attrName":"颜色", "attrValues":["黑色","白色"]}]

三、方式二:非官方接口(逆向解析,适合快速验证)

通过分析京东商品页网络请求,获取非官方接口数据。

  1. 商品详情接口(非官方)

import requests import json

def get_jd_product_detail(sku_id): """逆向获取京东商品详情(非官方接口)""" # 商品基本信息接口 # 封装好API供应商demo url=o0b.cn/ibrad url = f"https://item-soa.jd.com/getItemDetail?skuId={sku_id}" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "Referer": f"https://item.jd.com/{sku_id}.html" }

response = requests.get(url, headers=headers)
data = response.json()

if data.get("code") == 0:
    result = data["data"]
    return {
        "name": result["itemName"],
        "price": result["price"]["p"],  # 当前价
        "original_price": result["price"]["m"],  # 原价
        "shop_name": result["shopInfo"]["name"],
        "stock": result["stock"]["stockNum"],  # 库存数量
        "brand": result["brand"]["name"],  # 品牌
        "main_image": result["itemImg"]["slaveUrl"][0]  # 主图
    }
else:
    return {"error": "获取失败"}

使用示例

if name == "main": sku_id = "100032608854" detail = get_jd_product_detail(sku_id) if "error" not in detail: print(f"商品名称:{detail['name']}") print(f"当前价格:¥{detail['price']}") print(f"原价:¥{detail['original_price']}") print(f"店铺:{detail['shop_name']}") print(f"库存:{detail['stock']}件") print(f"品牌:{detail['brand']}") print(f"主图:{detail['main_image']}")

四、扩展应用:SKU 多规格信息获取

通过商品 ID 获取所有 SKU(如不同颜色 / 尺寸的价格、库存):

def get_jd_skus(sku_id): """获取商品所有SKU信息""" url = f"https://cd.jd.com/skuDetail?skuId={sku_id}" headers = {"User-Agent": "Mozilla/5.0"} response = requests.get(url, headers=headers)

# 解析SKU数据(非官方接口返回格式可能为JavaScript变量)
import re
sku_data = re.findall(r"skuMap\s*=\s*({.*?});", response.text)
if sku_data:
    sku_map = json.loads(sku_data[0])
    skus = []
    for sku in sku_map.values():
        skus.append({
            "sku_id": sku["skuId"],
            "attr": sku["skuAttr"],  # 规格描述(如"颜色:黑色;尺寸:128GB")
            "price": sku["price"],
            "stock": sku["stockNum"]
        })
    return skus
return []

使用示例

skus = get_jd_skus("100032608854") print("\nSKU列表:") for sku in skus[:3]: # 打印前3个SKU print(f"规格:{sku['attr']},价格:¥{sku['price']},库存:{sku['stock']}件")

总结

官方 API:适合企业级应用,数据稳定、合规,需申请权限。 非官方接口:适合快速验证或个人学习,需处理反爬和接口变更风险。 通过商品 ID 可获取价格、库存、SKU 规格、店铺信息等核心数据,结合定时任务可实现价格监控、库存预警等功能。

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Angular路由参数传递
一、路由时传递参数的方式1、在查询参数中传递数据,如//前台页面<arouterLink"/product"queryParams"{id:1}"商品详情</a//后台页面获取参数exportclassProductComponentimplementsOnInit{
shopee商品详情接口,店铺商品接口,商品评论接口代码封装教程
shopee商品详情接口,shopee商品列表接口,shopee商品数据接口,shopee店铺商品接口,关键词搜索shopee商品接口,关键词搜索shopee商品列表接口,shopee商品API接口,shopee商品详情属性接口,shopee详情sku数据,shopee店铺详情接口,shopee规格数据接口,shopee商品销量接口,shopee商品sku接口,shopee尺寸接口,shopee重量接口
Python实现根据商品ID获取当当网商品详情数据,当当商品详情接口,当当API接口
当当网全球领先的服装服饰网上购物中心。涵盖国内外知名男装、女装、内衣、鞋靴、箱包、皮具、配饰、手表、眼镜及时尚礼品,体验实惠便捷网上购物!以下是一个使用Python封装接口根据商品ID获取当当商品详情的示例代码:dangdang.itemget获得当当商品
Python实现根据商品ID获取蘑菇街商品详情数据,蘑菇街商品详情接口,蘑菇街API接口
蘑菇街是一家跨境电商网站,提供各种时尚、家居、美妆和电子产品等商品。在蘑菇街的商品详情页面,你可以看到以下信息:商品图片:展示商品的外观和细节,可以放大查看。商品名称:描述商品的名称,有时包含品牌和型号。商品价格:显示商品的售价,可能会包括促销价和折扣码。
【京东API】根据商品ID查询京东单个商品的详细信息、京东商品详情接口及京东sku接口
业务场景:作为全球最大的B2C电子商务平台之一,京东平台提供了丰富的商品资源,吸引了大量的全球买家和卖家。为了方便开发者接入京东平台,京东平台提供了丰富的API接口,其中商品详情接口是非常重要的一部分。大家有探讨稳定采集淘宝(天猫)京东阿里拼多多等平台整站
Json格式Java封装天猫商品详情数据接口,实现海量商品采集业务
根据天猫的API文档,获取天猫商品详情的API是通过发送Http/Post/GET请求,其中itemID是具体的商品ID。以下是Python和Java封装获取天猫商品详情API(复制Taobaoapi2014)的示例代码:1.请求方式:HTTPPOSTGE
Pyhon批量获取淘宝商品详情数据方法
淘宝是一个网上购物平台,售卖各类商品,包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取淘宝天猫商品详情SKU详细数据,您可以通过开放平台的接口或者直接访问淘宝天猫商城的网页来获取商品详情Sku信息。以下是两种常用方法的介绍:1.通过淘宝开放平台接口获
京东商品详情数据接口(JD.item_get)丨京东API接口指南
京东商品详情数据接口(JD.itemget)是京东开放平台提供的一种接口,它允许开发者通过调用接口获取京东商品的详细信息。这些信息包括但不限于商品的价格、库存、销量、评价等。以下是一些关于此接口的详细信息:接口功能:此接口可以获取商品的基本信息、详情描述、
数据为王!深度挖掘天猫商品详情接口,赋能电商运营新策略
天猫商品详情数据接口是天猫开放平台提供的一种API接口,旨在帮助开发者或商家获取天猫平台上商品的详细信息。以下是对该接口的详细介绍:一、接口概述功能:通过调用天猫商品详情数据接口,开发者可以获取包括商品标题、描述、价格、图片、销量、评价等在内的详细数据。这
淘宝 API 接口实战:获取商品详情数据|价格|主图|详情图|评价
API实战获取商品详情、价格、主图、详情图及评价数据的完整流程,包含接口申请、代码实现和数据解析