0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用京东商品详情id拿到商品的详细信息 示例展示

brad 来源:jf_60830860 作者:jf_60830860 2025-07-10 09:37 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

利用京东商品详情 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

2. 接口调用示例(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')}")

3. 官方 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"skuMaps*=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 规格、店铺信息等核心数据,结合定时任务可实现价格监控、库存预警等功能。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    2158

    浏览量

    66249
  • URL
    URL
    +关注

    关注

    0

    文章

    141

    浏览量

    16110
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    淘宝商品详情接口,品牌监控,行业分析,竞品分析代码展示

    常重要的一部分。大家有探讨稳定采集淘宝整站实时商品详情评论数据接口,通过该接口开发者可以更好地了解商品的情况,商品详情
    的头像 发表于 03-23 14:31 1339次阅读

    淘宝/天猫:通过商品详情API实现多店铺商品信息批量同步,确保价格、库存实时更新

    自动化批量同步,确保信息实时更新。本文将逐步介绍如何利用API高效解决这一问题。 1. 理解商品详情API 淘宝/天猫的商品
    的头像 发表于 09-08 16:05 557次阅读
    淘宝/天猫:通过<b class='flag-5'>商品</b><b class='flag-5'>详情</b>API实现多店铺<b class='flag-5'>商品信息</b>批量同步,确保价格、库存实时更新

    京东利用商品管理API自动调整商品上下架状态,优化搜索排名

    。本文将介绍如何利用京东商品管理API自动调整商品上下架状态,并解释这一策略如何帮助优化搜索排名,从而提升店铺流量和转化率。 商品管理API
    的头像 发表于 09-08 16:09 802次阅读
    <b class='flag-5'>京东</b>:<b class='flag-5'>利用</b><b class='flag-5'>商品</b>管理API自动调整<b class='flag-5'>商品</b>上下架状态,优化搜索排名

    搜索商品ID获取商品详情接口

    ​  在电商平台或库存管理系统中,通过商品ID快速搜索并获取商品详情是一项核心功能。该接口允许用户或应用程序输入唯一的商品标识符(
    的头像 发表于 10-20 15:46 395次阅读
    搜索<b class='flag-5'>商品</b><b class='flag-5'>ID</b>获取<b class='flag-5'>商品</b><b class='flag-5'>详情</b>接口

    拼多多商品详情数据接口(店铺搬家、数据分析、代购商城、淘宝联盟、ERP选品、无货源铺货、品牌监控)

    拼多多商品详情数据接口是一种程序化的接口,允许开发者根据商品ID商品链接,获取拼多多平台上的商品
    的头像 发表于 10-24 10:21 266次阅读

    闲鱼平台获取商品详情API接口

    ,确保真实可靠。 1. 什么是商品详情API? 商品详情API允许开发者通过HTTP请求获取特定商品
    的头像 发表于 10-27 16:01 608次阅读
    闲鱼平台获取<b class='flag-5'>商品</b><b class='flag-5'>详情</b>API接口

    淘宝京东API商品详情接口示例参考

    淘宝商品详情接口示例 接口名称:taobao.item_get(或类似的接口名称,具体以淘宝开放平台文档为准) 请求参数: num_iid:淘宝商品
    的头像 发表于 11-04 09:36 133次阅读

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

    利用京东商品详情 ID(即 SKU ID)获取商品
    的头像 发表于 11-11 10:47 302次阅读
    <b class='flag-5'>京东</b><b class='flag-5'>商品</b><b class='flag-5'>详情</b> <b class='flag-5'>ID</b>(即 SKU <b class='flag-5'>ID</b>)获取<b class='flag-5'>商品</b><b class='flag-5'>详细信息</b>参数

    如何通过API获取1688平台商品详情

    获取商品详情,包括API概述、访问方法、请求示例和代码实现。 1. API概述 1688平台提供了一系列开放API接口,允许开发者获取商品信息、订单数据等。其中,获取
    的头像 发表于 11-11 14:00 348次阅读
    如何通过API获取1688平台<b class='flag-5'>商品</b><b class='flag-5'>详情</b>

    海外电商平台虾皮商品详情API接口技术指南

    ​ 一、接口概述 虾皮商品详情API接口用于获取指定商品详细信息,包括标题、价格、规格、描述、图片等核心数据。该接口采用RESTful风格,支持GET请求,返回JSON格式数据。 二
    的头像 发表于 11-14 15:47 258次阅读
    海外电商平台虾皮<b class='flag-5'>商品</b><b class='flag-5'>详情</b>API接口技术指南

    如何获取易贝EBAY商品详情 API 返回值说明?

    的API获取商品详情时,通常会返回一个JSON或XML格式的响应,这个响应包含了商品详细信息。以下是一个简化的JSON格式的eBay商品
    的头像 发表于 11-19 11:57 106次阅读

    ​​​​​​​闲鱼平台根据商品ID获取商品详情的API接口实现

      引言在二手交易平台的数据分析、价格监控或商品信息聚合等应用场景中,通过商品ID(item_id)精准获取商品
    的头像 发表于 11-19 15:27 420次阅读
    ​​​​​​​闲鱼平台根据<b class='flag-5'>商品</b><b class='flag-5'>ID</b>获取<b class='flag-5'>商品</b><b class='flag-5'>详情</b>的API接口实现

    京东商品详情价格监控API完整教程

    一、摘要 京东商品详情API是京东开放平台提供的标准化接口,开发者可通过商品ID、SKU等参数获
    的头像 发表于 11-24 15:56 866次阅读

    1688商品详情API完整指南

    一、摘要 1688商品详情API是阿里巴巴旗下B2B平台提供的重要数据接口,主要用于获取商品详细信息。该接口支持获取商品
    的头像 发表于 11-25 10:18 200次阅读

    闲鱼商品详情API完整指南

    一、摘要 闲鱼商品详情API是阿里巴巴旗下二手交易平台闲鱼提供的开发者接口,主要用于通过商品ID获取商品
    的头像 发表于 12-02 11:46 93次阅读