京东商品详情API接口调用技术指南
本文基于京东宙斯开放平台(JD Open API)的 jingdong.ware.product.detail.search.get 接口,提供商品详情数据获取的完整技术方案,包含参数说明、代码实现及实战避坑指南。
一、接口功能与权限
核心能力
获取商品SKU的完整信息,包括标题、价格、库存、促销活动、主图、详情页描述等;
支持批量查询(最多50个SKU/次)及多维度字段筛选;
返回数据包含京东自营与第三方店铺商品(需权限覆盖)。
权限要求
注册京东宙斯开发者账号,创建应用并申请 商品详情读取 权限;
需完成企业资质认证(个人开发者权限受限)。
二、接口参数说明
参数 类型 必填 描述
method String 是 固定值:jingdong.ware.product.detail.search.get
sku_ids String 是 商品SKU列表,多个ID用英文逗号分隔(如 12345,67890)
fields String 否 指定返回字段(默认全量),如 wareId,title,price,imagePath
access_token String 是 OAuth2.0令牌,通过授权流程获取(有效期24小时)
app_key String 是 应用身份标识,从开放平台控制台获取
timestamp String 是 请求时间戳(格式 yyyy-MM-dd HH:mm:ss),服务端校验时效性
三、Python代码示例(OAuth2.0 + 签名)
python
Copy Code
import requests
import hashlib
import time
from urllib.parse import quote
# 配置参数
app_key = "YOUR_APP_KEY"
app_secret = "YOUR_APP_SECRET"
sku_ids = "12345,67890" # 示例SKU
access_token = "YOUR_ACCESS_TOKEN"
# 生成签名
def jd_sign(params):
sorted_params = sorted(params.items(), key=lambda x: x[0])
param_str = app_secret + ''.join([f"{k}{v}" for k, v in sorted_params]) + app_secret
return hashlib.md5(param_str.encode()).hexdigest().upper()
# 请求商品详情
def fetch_jd_product_detail():
base_url = "https://api.jd.com/routerjson"
timestamp = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
params = {
"method": "jingdong.ware.product.detail.search.get",
"sku_ids": sku_ids,
"fields": "wareId,title,price,imagePath,stock",
"access_token": access_token,
"app_key": app_key,
"timestamp": timestamp,
"v": "2.0",
"format": "json"
}
# 生成签名并编码
params["sign"] = jd_sign(params)
encoded_params = {k: quote(str(v)) for k, v in params.items()}
response = requests.get(base_url, params=encoded_params)
return response.json()
# 示例调用
data = fetch_jd_product_detail()
print(data)
代码解析:
签名规则:拼接 app_secret + 有序参数键值对 + app_secret 生成MD5签名,确保请求合法性;
URL编码:所有参数值使用 urllib.parse.quote 处理,避免特殊字符导致请求失败;
数据解析:响应为JSON格式,商品信息存储在 result 字段中(需校验 code 状态码)。
四、响应数据结构示例
json
Copy Code
{
"code": "0",
"message": "Success",
"result": [
{
"wareId": "12345",
"title": "京东自营 商品标题示例",
"price": "299.00",
"stock": 100,
"imagePath": "https://img14.360buyimg.com/n1/jfs/t1/xxx.jpg"
},
{
"wareId": "67890",
"title": "第三方店铺商品示例",
"price": "159.00",
"stock": 0,
"imagePath": "https://img14.360buyimg.com/n1/jfs/t1/yyy.jpg"
}
]
}
五、实战注意事项
权限与频率限制
未授权字段:若 fields 包含未申请权限的字段(如促销价 promotionPrice),接口返回空值或报错;
调用频率:默认单应用QPS≤50,超额触发限流(返回 code=14)。
错误码处理
code=11:签名错误 → 检查 app_secret 与参数编码;
code=15:Token失效 → 刷新 access_token;
code=201:SKU不存在 → 验证商品ID有效性。
数据更新延迟
价格与库存信息可能存在1~3分钟缓存,高频监控场景建议结合京东价保接口。
六、应用场景建议
实时比价系统:聚合京东、淘宝、拼多多商品数据,分析价格竞争力;
库存预警工具:监控SKU库存状态,触发自动补货通知(尤其大促期间);
详情页生成器:抓取主图与描述数据,快速生成第三方平台商品页。
参考资源:
京东宙斯开放平台文档
代码中的 YOUR_APP_KEY、YOUR_APP_SECRET 需替换为实际值,并通过OAuth流程获取 access_token。
相关文章:

京东商品详情API接口调用技术指南
本文基于京东宙斯开放平台(JD Open API)的 jingdong.ware.product.detail.search.get 接口,提供商品详情数据获取的完整技术方案,包含参数说明、代码实现及实战避坑指南。 一、接口功能与权限 核心能力 获取商品SKU的完整信…...

基于Java(JSP)+MySQL实现深度学习的音乐推荐系统
基于深度学习的音乐推荐系统简述 本文简要介绍我做的基于深度学习的音乐推荐系统。主要从需求分析与设计实现的角度来进行介绍。 需求分析 基于深度学习的音乐推荐系统旨在以个性化音乐推荐模型为基础,使用B/S架构的形式实现。个性化推荐模型使用了 随机梯度下降…...

Linux:进程间通信---匿名管道
文章目录 1. 进程间通信1.1 什么是进程间通信?1.2 为什么进程要进行进程间通信?1.3 怎么实现进程间通信? 2. 匿名管道2.1 匿名管道的原理2.2 匿名管道的系统接口2.3 匿名管道的使用2.4 匿名管道的运用场景 序:在上一篇文章中我们知…...
C++ 类及函数原型详解
一、引言 在C 编程中,类(Class)是面向对象编程的核心概念之一,它是一种用户自定义的数据类型,封装了数据和操作数据的函数(成员函数)。函数原型则为函数的声明提供了必要的信息,让编…...

深度学习小记(包括pytorch 还有一些神经网络架构)
这个是用来增加深度学习的知识面或者就是记录一些常用的命令,会不断的更新 import torchvision.transforms as transforms toPIL transforms.ToPILImage()#可以把tensor转换为Image类型的 imgtoPIL(img) #利用save就可以保存下来 img.save("/opt/data/private/stable_si…...
声音分离人声和配乐base,vocals,drums -从头设计数字生命第6课, demucs——仙盟创梦IDE
demucs -n htdemucs --two-stemsvocals 未来之窗.mp3 demucs -n htdemucs --shifts5 之.mp3demucs -n htdemucs --shifts5 -o wlzcoutspl 未来之窗.mp3 伴奏提取人声分离技术具有多方面的重大意义,主要体现在以下几个领域: 音乐创作与制作 创作便利…...
深度探索多模态数据:从声音到图像的奇妙世界
深度探索多模态数据:从声音到图像的奇妙世界 在多模态深度学习的旅程中,我们不仅要了解不同数据形式的融合策略,还需要熟悉各种数据类型的特性。今天,我们将探索两种常见但极具价值的模态:音频数据和医学CT扫描。 音…...

【数据可视化-32】全球住房市场分析(2015-2024 年)数据集可视化分析
🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...
JAVA---面向对象(下)
重生之我开始补知识第三集 1.标准 JavaBean 要求: 1)类名需要见名知意 2)成员变量使用private修饰 3)至少提供两个构造方法 a.无参构造方法 b.带全部参数的构造方法 4)成员方法 a.提供每一个成员变量对应的 …...
FPGA(现场可编程门阵列)笔记
*编程语言 - [Verilog]:硬件描述语言,语法风格类似于C语言,用于数字电路的设计。 - [SystemVerilog]:扩展自Verilog,增加了面向对象编程等特性,语法更接近于C,适用于复杂系统设计。 - [VHDL]:另一种硬件描述语言&…...

DAX Studio将PowerBI与EXCEL连接
DAX Studio将PowerBI与EXCEL连接 具体步骤如下: 第一步:先打开一个PowerBI的文件,在外部工具栏里打开DAXStudio,如图: 第二步:DAXStudio界面,点击Advanced选项卡-->Analyze in Excel&#…...

使用spring boot vue 上传mp4转码为dash并播放
1.前端实现 <template><div class"video-upload"><el-uploadclass"upload-demo"action"/api/upload":before-upload"beforeUpload":on-success"handleSuccess":on-error"handleError":show-file-…...

深入理解指针 (1)
1.内存和地址 1.1内存 1.1.1内存的使用和管理 (1)内存划分为一个个的内存单元,每个内存单元的大小是1个字节,一个内存单元可以存放8个bit。 (2)每个内存单元有一个编号,内存单元的编号在计…...

Leetcode98、230:二叉搜索树——递归学习
什么是二叉搜索树:右子树节点 > 根节点 > 左子树节点, 二叉搜索树中的搜索,返回给定值val所在的树节点 终止条件为传进来的节点为空、或者节点的值 val值,返回这个节点; 单程递归逻辑:定义一个resu…...
4/25 研0学习日志
Python学习 python 4个常用的数据容器 list dict tuple set list 列表中数据类型可以不一样 构造方式 mylist["xxx","xxxx"] 获取数据方式 mylist[1] mylist[:4] mylist[-1:] 添加数据 mylist.append() mylist.extern(["aaa","aaaa&…...

15. LangChain多模态应用开发:融合文本、图像与语音
引言:当AI学会"看听说想" 2025年某智慧医院的多模态问诊系统,通过同时分析患者CT影像、语音描述和电子病历,将误诊率降低42%。本文将基于LangChain多模态框架与Deepseek-R1,手把手构建能理解复合信息的智能系统。 一、…...

2022李宏毅老师机器学习课程笔记
机器学习笔记目录 1.绪论(内容概述)2.机器学习和深度学习的基本概念transformer 1.绪论(内容概述) 机器学习:让机器找一个函数,通过函数输出想要的结果。应用举例:语音识别,图像识别…...

笔试强训:Day2
一、字符串中找出连续最长的数字串(双指针) 字符串中找出连续最长的数字串_牛客题霸_牛客网 #include <iostream> #include <string> #include <cctype> using namespace std;int main() {//双指针string str;cin>>str;int nstr.size();int begin-1,l…...

linux合并命令(一行执行多个命令)的几种方式总结
背景: 最近安装配置机器,需要手打很多命令。又不能使用docker,所以就使用iTerm2连接多台服务器,然后move session到一个窗口中,shift command i使用XSHELL类似的撰写功能,就可以一次在多台服务器命令窗口…...

基于归纳共形预测的大型视觉-语言模型中预测集的**数据驱动校准**
摘要 本研究通过分离共形预测(SCP)框架,解决了大型视觉语言模型(LVLMs)在视觉问答(VQA)任务中幻觉缓解的关键挑战。虽然LVLMs在多模态推理方面表现出色,但它们的输出常常表现出具有…...
【器件专题1——IGBT第2讲】IGBT 基本工作原理:从结构到特性,一文解析 “电力电子心脏” 的核心机制
IGBT(绝缘栅双极型晶体管,Insulated Gate Bipolar Transistor)作为现代电力电子领域的核心器件,其工作原理融合了 MOSFET 的高效控制优势与 BJT 的大功率处理能力。本文从物理结构、导通 / 关断机制、核心特性等维度,深…...
【避坑指南】Spring拦截器中instanceof HandlerMethod失效的问题排查
问题背景 最近在使用Spring MVC开发项目时,我遇到了一个诡异的问题:在自定义拦截器的preHandle方法中,明明请求的是Controller层的方法,但handler instanceof HandlerMethod判断却总是返回false,导致拦截逻辑无法正常…...
青少年编程与数学 02-018 C++数据结构与算法 06课题、树
青少年编程与数学 02-018 C数据结构与算法 06课题、树 一、树(Tree)1. 树的定义2. 树的基本术语3. 常见的树类型4. 树的主要操作5. 树的应用 二、二叉树(Binary Tree)1. 二叉树的定义2. 二叉树的基本术语3. 二叉树的常见类型4. 二叉树的主要操作5. 二叉树的实现代码说明输出示例…...

docker学习笔记5-docker中启动Mysql的最佳实践
一、查找目录文件位置 1、mysql的配置文件路径 /etc/mysql/conf.d 2、mysql的数据目录 /var/lib/mysql 3、环境变量 4、端口 mysql的默认端口3306。 二、启动命令 1、启动命令说明 docker run -d -p 3306:3306 -v /app/myconf:/etc/mysql/conf.d # 挂载配置目录 -v…...

从零开始搭建Django博客③--前端界面实现
本文主要在Ubuntu环境上搭建,为便于研究理解,采用SSH连接在虚拟机里的ubuntu-24.04.2-desktop系统搭建,当涉及一些文件操作部分便于通过桌面化进行理解,通过Nginx代理绑定域名,对外发布。 此为从零开始搭建Django博客…...

系统与网络安全------弹性交换网络(3)
资料整理于网络资料、书本资料、AI,仅供个人学习参考。 STP协议 环路的危害 单点故障 PC之间的互通链路仅仅存在1个 任何一条链路出现问题,PC之间都会无法通信 解决办法 提高网络可靠性 增加冗余/备份链路 增加备份链路后交换网络上产生二层环路 …...

Cursor 配置 MCP Tool
文章目录 1、MCP Tool 的集合2、一个 demo :Sequential Thinking2.1、搜索一个 MCP Tool 获取 command 命令2.2、在 Cursor 配置2.3、配置状态检查与修正(解决网络问题)检查解决办法 2.4、使用 1、MCP Tool 的集合 https://smithery.ai/ 2、一个 demo :Sequential Thinking …...
SQL进阶知识:四、索引优化
今天介绍下关于索引优化的详细介绍,并结合MySQL数据库提供实际例子。 索引优化是数据库性能优化的关键环节之一,尤其是在处理大量数据时。索引可以加快查询速度,减少数据扫描范围,但不当的索引设计也可能导致性能问题。以下是关于…...
【Leetcode 每日一题】2799. 统计完全子数组的数目
问题背景 给你一个由 正 整数组成的数组 n u m s nums nums。 如果数组中的某个子数组满足下述条件,则称之为 完全子数组 : 子数组中 不同 元素的数目等于整个数组不同元素的数目。 返回数组中 完全子数组 的数目。 子数组 是数组中的一个连续非空序…...
OpenCV中的SIFT特征提取
文章目录 引言一、SIFT算法概述二、OpenCV中的SIFT实现2.1 基本使用2.1.1 导入库2.1.2 图片预处理2.1.3 创建SIFT检测器2.1.4 检测关键点并计算描述符2.1.5 检测关键点并计算描述符并对关键点可视化2.1.6 印关键点和描述符的形状信息 2.2 参数调优 三、SIFT的优缺点分析3.1 优点…...