Python采集京东商品API接口概述及JSON格式数据参考

前言

一、接口概述

京东商品详情API接口是京东开放平台为开发者提供的服务,用于获取京东平台上商品的详细信息。通过调用该接口,开发者可以获取商品的名称、价格、库存、图片、规格参数、用户评价等结构化数据,适用于电商应用、价格监控、数据分析等场景。


二、接口特点
  1. 数据全面性
    接口返回的数据涵盖多个维度,包括:

    • 商品基本信息:名称、品牌、型号、分类等。
    • 价格信息:当前售价、原价、促销价、折扣信息等。
    • 库存信息:库存数量、库存状态等。
    • 图片信息:主图、详情图、视频链接等。
    • 规格参数:颜色、尺寸、重量等。
    • 售后服务:退换货政策、保修期等。
    • 用户评价:评价总数、好评率、示例评价等。
  2. 实时性
    接口数据与京东平台实时同步,确保价格、库存等信息的及时性。

  3. 稳定性
    京东作为大型电商平台,API接口经过严格测试,支持高并发访问,适合电商大促等场景。

  4. 安全性
    接口采用签名验证机制(如MD5加密),确保请求的合法性,防止数据泄露。


三、Python采集示例代码

以下是一个使用Python调用京东商品详情API的示例代码:

import requests
import hashlib
import time
class JDAPI:
def __init__(self, app_key, app_secret):
self.app_key = app_key
self.app_secret = app_secret
self.base_url = "https://api.jd.com/routerjson"
def _generate_sign(self, params):
# 参数排序并拼接
sorted_params = sorted(params.items(), key=lambda x: x[0])
query_string = '&'.join([f"{k}={v}" for k, v in sorted_params]) + self.app_secret
# MD5加密生成签名
return hashlib.md5(query_string.encode('utf-8')).hexdigest().upper()
def call_api(self, method, params):
# 公共参数
common_params = {
'app_key': self.app_key,
'method': method,
'timestamp': str(int(time.time())),
'format': 'json',
'v': '2.0',
'sign_method': 'md5'
}
# 合并参数
all_params = {**common_params, **params}
# 生成签名
all_params['sign'] = self._generate_sign(all_params)
# 发送请求
response = requests.get(self.base_url, params=all_params)
return response.json()
# 使用示例
api = JDAPI('your_app_key', 'your_app_secret')
# 获取商品基础信息
def get_goods_info(api, sku_id):
params = {
'sku_ids': sku_id, # 商品ID,多个用逗号分隔
'fields': 'sku_id,name,price,image_path,stock_state' # 需要返回的字段
}
result = api.call_api('jd.union.open.goods.query', params)
return result
# 获取商品详细信息
def get_goods_detail(api, sku_id):
params = {
'sku_id': sku_id,
'fields': 'sku_id,name,price,image_path,stock_state,description,after_service,spec_info'
}
result = api.call_api('jd.union.open.goods.detail.query', params)
return result
# 调用接口
goods_info = get_goods_info(api, '100012345678')
goods_detail = get_goods_detail(api, '100012345678')
print("商品基础信息:", goods_info)
print("商品详细信息:", goods_detail)

四、JSON格式数据参考

以下是一个典型的京东商品详情API返回的JSON数据示例:

{
"code": 200,
"message": "success",
"data": {
"goods_detail_response": {
"sku_id": "100012345678",
"name": "华为Mate 50 Pro 5G手机",
"price": 5999.00,
"description": "

华为Mate 50 Pro 5G手机,采用6.74英寸OLED屏幕...

",
"after_service": "全国联保,享受三包服务",
"spec_info": {
"颜色": ["曜金黑", "冰霜银", "流光紫"],
"内存": ["8GB+128GB", "8GB+256GB", "12GB+512GB"]
},
"images": [
"https://img10.360buyimg.com/n1/s450x450_jfs/t1/123456/78/12345/123456/12345678/1234567890abcdef.jpg"
],
"evaluation": {
"total_reviews": 1000,
"positive_rate": "95%"
}
}
}
}

五、关键字段说明
  1. code 和 message
    接口调用状态码(200表示成功)及错误信息。

  2. goods_detail_response
    包含商品详情的核心数据。

  3. sku_id
    商品唯一标识符。

  4. name
    商品名称。

  5. price
    商品当前价格。

  6. description
    商品详细描述。

  7. after_service
    售后服务信息。

  8. spec_info
    商品规格参数。

  9. images
    商品图片列表。

  10. evaluation
    用户评价信息。


你可能感兴趣的:(python,API,数据库,python,开发语言)