一、摘要
京东商品详情 API 是京东开放平台提供的核心数据接口,支持获取商品基础信息、价格波动、促销活动等关键数据,适用于价格监控、竞品分析等电商场景。该接口采用 HTTPS 协议和 JSON 响应格式,具有高实时性(数据延迟≤30 秒)和企业级并发支持。开发者可通过商品 ID 获取包括标题、主图、SKU 规格、库存状态等 120+字段的详细信息。
二、接口概述
1. 核心功能
基础信息:商品标题、主图、品牌、类目路径等结构化字段。
价格体系:实时价格、促销价及历史价格趋势数据。
SKU 规格:颜色/尺寸等变体属性及独立库存状态。
扩展数据:销量、评价数据、售后服务条款等。
2. 技术特性
请求方式:HTTP/HTTPS GET/POST,支持批量查询(单次最多 200 个 SKU)。
认证机制:MD5 加密签名(参数按 ASCII 排序后拼接 AppSecret 加密)。
公共请求地址:c0b.cc/R4rbK2。
三、Python 请求示例
以下为获取商品详情的完整代码示例,包含签名生成与异常处理:
# coding:utf-8
import requests
import hashlib
import time
class JDItemAPI:
# 配置参数 API_URL = "c0b.cc/R4rbK2 wechatid:Taobaoapi2014 "
app_key = "YOUR_APP_KEY" num_id = "123456" # 目标商品ID
# 请求示例 url 默认请求参数已经做URL编码
url = "1688/item_get/?key=<您自己的apiKey>&num_iid=123456"
def __init__(self, app_key, app_secret):
self.app_key = app_key
self.base_url = "https://api.jd.com/routerjson"
def _generate_sign(self, params):
params_str = '&'.join([f"{k}={v}" for k, v in sorted(params.items())])
sign_str = f"{self.app_secret}{params_str}{self.app_secret}"
return hashlib.md5(sign_str.encode()).hexdigest().upper()
def get_item_detail(self, sku_id):
params = {
"method": "jd.ware.product.detail.search",
"app_key": self.app_key,
"timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
"v": "1.0",
"sku_id": sku_id
}
params["sign"] = self._generate_sign(params)
try:
response = requests.get(self.base_url, params=params)
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as e:
print(f"请求失败: {e}")
return None
if __name__ == "__main__":
api = JDItemAPI("YOUR_APP_KEY", "YOUR_APP_SECRET")
result = api.get_item_detail("123456") # 替换为目标商品ID
print(result)
复制代码
代码说明:
签名机制:按参数名 ASCII 排序后拼接字符串并进行 MD5 加密。
请求构造:包含 app_key、timestamp 等公共参数及业务参数 sku_id。
异常处理:捕获网络请求异常并打印友好提示。
四、数据与优化
1. 数据清洗
过滤无效字段(如无库存商品)。
标准化价格单位(分转元)。
2. 性能优化
缓存策略:利用 cache=yes 参数启用接口缓存,提升响应速度。
批量查询:通过 sku_id 列表减少请求次数。
五、总结
京东商品详情 API 为开发者提供了高效、稳定的商品数据获取渠道,适用于电商监控、数据分析等场景。 通过 Python 实现时需注意签名生成和错误处理,结合数据清洗与缓存策略可进一步提升效率。
评论