超清晰教程:Python 调用京东商品详情 API(完整可运行)

简介: 我给你一套最简单、最稳定、可直接复制运行的京东商品详情 API 调用代码,包含:签名生成 → 接口请求 → 数据解析 → 异常处理你只需要替换自己的 AppKey、AppSecret、AccessToken 就能用。

我给你一套最简单、最稳定、可直接复制运行的京东商品详情 API 调用代码,包含:

签名生成 → 接口请求 → 数据解析 → 异常处理你只需要替换自己的 AppKey、AppSecret、AccessToken 就能用。


一、你需要提前准备

  1. 京东开放平台创建应用
  2. 获取:
  • app_key
  • app_secret
  • access_token(店铺授权)
  1. 安装依赖

bash

运行

pip install requests

二、京东商品详情 API 核心接口

我们使用 官方最标准、数据最全 的两个接口:

  • 单品详情jingdong.item.read.get
  • 批量详情jingdong.item.list.get(一次最多 20 个)

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

1. 京东 API 客户端(签名 + 请求自动处理)

python

运行

import requests
import hashlib
import time
class JDClient:
    def __init__(self, app_key, app_secret, access_token):
        self.app_key = app_key
        self.app_secret = app_secret
        self.access_token = access_token
        self.api_url = "https://api.jd.com/routerjson"
    # 京东官方签名算法(必须正确,否则调用失败)
    def sign(self, params):
        # 按 key 字典序排序
        sorted_items = sorted(params.items())
        # 拼接成字符串
        param_str = "".join(f"{k}{v}" for k, v in sorted_items)
        # 前后加 app_secret 再 MD5
        sign_src = self.app_secret + param_str + self.app_secret
        # 转大写
        return hashlib.md5(sign_src.encode()).hexdigest().upper()
    # 通用请求方法
    def request(self, method, params):
        public_params = {
            "method": method,
            "app_key": self.app_key,
            "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
            "format": "json",
            "v": "2.0",
            "access_token": self.access_token
        }
        # 合并公共参数 + 业务参数
        all_params = {**public_params, **params}
        # 生成签名
        all_params["sign"] = self.sign(all_params)
        try:
            resp = requests.post(self.api_url, data=all_params, timeout=10)
            return resp.json()
        except Exception as e:
            return {"error": str(e)}

2. 获取【单个商品】详情(最常用)

python

运行

# ====================== 配置信息(换成你自己的) ======================
APP_KEY = "你的APP_KEY"
APP_SECRET = "你的APP_SECRET"
ACCESS_TOKEN = "你的ACCESS_TOKEN"
SKU_ID = "100012345678"  # 京东商品ID
# 初始化客户端
client = JDClient(APP_KEY, APP_SECRET, ACCESS_TOKEN)
# 获取商品详情
def get_jd_item_detail(sku_id):
    params = {
        "sku_id": sku_id,
        "fields": "sku_id,title,price,image_url,brand_info,sku_list,sku_property"
    }
    return client.request("jingdong.item.read.get", params)
# 调用
if __name__ == "__main__":
    result = get_jd_item_detail(SKU_ID)
    print("京东商品详情返回:")
    print(result)

3. 获取【批量商品】详情(一次 20 个)

python

运行

def get_jd_item_batch(sku_ids):
    params = {
        "sku_ids": ",".join(sku_ids),  # 逗号分隔,最多20个
        "fields": "sku_id,title,price,image_url"
    }
    return client.request("jingdong.item.list.get", params)
# 调用示例
# batch_result = get_jd_item_batch(["100012345678", "100087654321"])
# print(batch_result)

四、接口返回 JSON 示例(真实结构)

json

{
  "jingdong_item_read_get_response": {
    "result": {
      "code": 0,
      "msg": "success",
      "item": {
        "sku_id": "100012345678",
        "title": "小米14 12+256GB 黑色",
        "price": "3999.00",
        "image_url": "https://img14.360buyimg.com/xxx.jpg",
        "brand_info": { "brand_name": "小米" },
        "sku_list": [
          {"sku_id": "100012345678","price":"3999.00","properties":"颜色:黑色"},
          {"sku_id": "100012345679","price":"4299.00","properties":"颜色:白色"}
        ]
      }
    }
  }
}

五、最简单的数据解析代码

python

运行

def parse_item(result):
    try:
        item = result["jingdong_item_read_get_response"]["result"]["item"]
        return {
            "sku_id": item["sku_id"],
            "标题": item["title"],
            "价格": item["price"],
            "主图": item["image_url"],
            "品牌": item["brand_info"]["brand_name"]
        }
    except:
        return "解析失败"
# 使用
data = parse_item(result)
print("解析后数据:", data)

六、调用频率限制(必须遵守)

  • QPS:2 次 / 秒
  • 日调用:1000 次 / 天
  • 批量一次最多 20 个商品
  • 超限错误码:10003

七、我能帮你继续扩展

你需要我给你写:

  1. 自动翻页批量采集
  2. 保存到 Excel/MySQL
  3. 限流 + 重试防封
  4. SPU + 所有 SKU 完整采集
相关文章
|
6月前
|
数据采集 监控 API
京东商品详情 API(jd.item_get)
京东商品详情API(jd.item_get)是京东开放平台提供的标准化REST接口,支持获取商品标题、价格、库存、规格、促销及售后等全量信息,适用于数据采集、价格监控、比价工具及代购系统等场景。
|
5月前
|
数据采集 JSON 供应链
1688商品详情数据一键获取,item_get API接口讲解
本文分享1688商品详情API(offerDetail.get)实战经验:摒弃爬虫,依托官方接口实现合规、稳定、高效的数据采集。涵盖接入流程、关键参数、返回字段解析及避坑要点,助力企业快速落地电商供应链数据建设。(239字)
|
4月前
|
Java API 开发工具
Java获取淘宝商品价格、图片与视频:淘宝开放平台API实战指南
本文详解Java调用淘宝开放平台taobao.item.get接口获取商品详情:涵盖账号注册、权限申请、MD5签名生成、HTTP请求实现及多媒体资源处理,提供完整代码示例与SDK简化方案,助开发者高效集成商品价格、图片、视频等核心数据。(239字)
|
4月前
|
JSON 程序员 API
淘宝 API 上货 / 商品搬家 业务场景实现 + JSON 返回示例
淘宝 API 上货 / 搬家 = 自动把商品从其他平台(1688、拼多多、抖音、淘宝其他店铺)搬到淘宝店
|
5月前
|
XML JSON 数据挖掘
京东商品详情数据一键获取,item_get API接口讲解
京东item_get是获取单商品详情的核心API,支持一键拉取标题、价格、SKU、库存、详情HTML等结构化数据,适用于反向海淘、代购、ERP同步及比价分析等场景,分基础版与完整版,需认证授权后调用。(239字)
|
10月前
|
JSON 监控 API
京东商品详情API接口(标题|主图|SKU|价格)
京东商品详情API提供标准化接口,支持通过HTTPS获取商品标题、价格、库存、销量等120+字段,数据实时更新至分钟级。包含jd.item.get和jd.union.open.goods.detail.query等接口,支持批量查询200个SKU,适用于价格监控、竞品分析等电商场景。
1424 156
|
5月前
|
缓存 监控 算法
详细介绍一下淘宝商品详情API接口系列的调用频率限制
淘宝商品详情 API 系列(核心为taobao.item.get)的调用频率限制,采用应用级 QPS + 分钟级 + 日总量三重管控,按开发者身份、应用类型、接口版本、套餐等级分级执行,是平台保障服务稳定性、防滥用的核心机制。以下从限制规则、限流机制、超限处理、提额申请、调用方控频方案五方面详细说明。
|
4月前
|
数据采集 监控 API
淘宝店铺所有商品 API 接口全解析:批量获取全店商品数据(2026 最新版)
在电商数据采集与店铺管理场景中,批量获取淘宝店铺所有商品是核心需求之一。淘宝开放平台提供了标准化 API 接口,支持按店铺、类目、时间等维度拉取商品全量数据,涵盖标题、价格、SKU、库存、销量等关键字段。本文将从接口选型、参数配置、代码实现、数据解析全流程展开讲解,适用于店铺运营、ERP 系统对接、竞品分析等场景。
|
5月前
|
缓存 Prometheus 监控
Python请求淘宝天猫API常见问题解析与解决方案
通过系统化的错误处理机制和性能优化策略,可显著提升淘宝天猫API调用的稳定性和数据获取效率。实际开发中建议结合Prometheus监控调用成功率、错误率等关键指标,构建智能化的API调用管理体系。