京东商品属性API数据解析:颜色、尺寸与材质

一、核心API接口与调用流程

  1. 接口选择

    • 商品详情APIjingdong.ware.getjd.item.detail.get,通过商品ID(wareId/sku_id)获取完整属性。
    • 商品搜索APIjingdong.ware.search,通过关键词获取商品列表及基础属性。
    • SKU属性接口:直接查询SKU(如颜色、尺寸组合)的详细参数。
  2. 调用步骤

    • 注册与认证:在京东开放平台注册开发者账号,创建应用获取AppKey和AppSecret,申请商品详情API权限。

    • 构造请求

      • 必填参数:商品ID(如wareId=100060000001)、字段列表(如field=title,price,attributes)。
      • 签名生成:按参数ASCII排序后拼接,首尾加AppSecret,MD5加密(部分接口用HMAC-SHA256)。
      • 请求方式:支持GET/POST,URL示例:https://api.jd.com/routerjson?method=jingdong.ware.get&app_key=XXX&wareId=100060000001...
    • 响应解析 :返回JSON结构,核心字段位于wareInfosku_info中。

二、属性字段解析

  1. 颜色(Color)

    • 位置attributes数组或sku_infoattributes字段。

    • 示例

      json 复制代码
      json
      "attributes": [
        {"name": "颜色", "values": ["红色", "蓝色", "白色"]}
      ]

      json 复制代码
      json
      "sku_info": [
        {"sku_id": "100012345678", "attributes": "颜色:红色;尺寸:M", "price": "299.00"}
      ]
  2. 尺寸(Size)

    • 位置 :同颜色,常与颜色组合在attributes中。

    • 示例

      json 复制代码
      json
      "attributes": [
        {"name": "尺寸", "values": ["S", "M", "L", "XL"]}
      ]
  3. 材质(Material)

    • 位置attributes或商品描述字段(如desc)。

    • 示例

      json 复制代码
      json
      "attributes": [
        {"name": "材质", "values": ["棉95%", "涤纶5%"]}
      ]

三、代码实现示例(Python)

python 复制代码
python
import requests
import hashlib
import json
 
class JDAPI:
    def __init__(self, app_key, app_secret):
        self.app_key = app_key
        self.app_secret = app_secret
        self.api_url = "https://api.jd.com/routerjson"
 
    def generate_sign(self, params):
        sorted_params = sorted(params.items(), key=lambda x: x[0])
        sign_str = self.app_secret + ''.join([f"{k}{v}" for k, v in sorted_params]) + self.app_secret
        return hashlib.md5(sign_str.encode('utf-8')).hexdigest().upper()
 
    def get_item_detail(self, ware_id):
        params = {
            "method": "jingdong.ware.get",
            "app_key": self.app_key,
            "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
            "format": "json",
            "v": "2.0",
            "wareId": ware_id,
            "field": "title,price,attributes"
        }
        params["sign"] = self.generate_sign(params)
        response = requests.get(self.api_url, params=params)
        return response.json()
 
# 使用示例
if __name__ == "__main__":
    app_key = "YOUR_APP_KEY"
    app_secret = "YOUR_APP_SECRET"
    ware_id = "100060000001"
    jd_api = JDAPI(app_key, app_secret)
    item_data = jd_api.get_item_detail(ware_id)
    
    # 解析颜色、尺寸、材质
    if "wareInfo" in item_data:
        attributes = item_data["wareInfo"].get("attributes", [])
        for attr in attributes:
            if attr["name"] == "颜色":
                colors = attr.get("values", [])
            elif attr["name"] == "尺寸":
                sizes = attr.get("values", [])
            elif attr["name"] == "材质":
                materials = attr.get("values", [])
    print(f"颜色: {colors}, 尺寸: {sizes}, 材质: {materials}")

四、注意事项

  1. 权限与限制

    • 部分字段(如销量、评价)需企业认证或付费权限。
    • 调用频率限制:默认100次/分钟,VIP账号可提升至500次/分钟。
    • 需配置IP白名单,避免恶意调用。
  2. 数据结构差异

    • 不同商品类别属性结构可能不同(如服装vs电子产品),需动态解析。
    • 多SKU商品需遍历sku_info数组获取各规格属性。
  3. 合规性

    • 禁止爬虫抓取,必须使用官方API。
    • 敏感信息需脱敏处理,遵循京东数据使用规范。

通过以上流程,可高效获取并解析京东商品的颜色、尺寸和材质属性,适用于电商数据分析、竞品监控等场景。建议定期查阅京东开放平台最新文档,确保接口调用符合规范。

相关推荐
IT·陈寒7 小时前
Python的GIL问题又把我坑惨了
人工智能·大模型·api·创业·变现·简历优化
用户2986985301410 小时前
Python 将 Word 文档转换为图片的实践指南
后端·python·api
IT·陈寒10 小时前
React状态更新为啥有时吞了我的变更?
人工智能·大模型·api·创业·变现·简历优化
the局外人12 小时前
学习 FastAPI 的 Day 4:完成用户系统与接口联调(完结)
后端·python·fastapi
李高钢1 天前
Python FastAPI 框架入门:从零搭建你的第一个高性能 API 服务
数据库·python·fastapi
IT·陈寒1 天前
Redis内存暴涨时,我忘记检查这个参数
人工智能·大模型·api·创业·变现·简历优化
杰克尼1 天前
FastAPI
fastapi
余槐i1 天前
使用Ollama本地部署和测试Kimi、GLM等多款大语言模型实战
人工智能·语言模型·自然语言处理·大模型·api
VIP_CQCRE2 天前
Ace Data Cloud MCP:把整个平台能力接入你的 AI 助手
ai·api·开发工具·mcp·acedatacloud
Patrick在香港2 天前
Python 分析香港 AQHI 归档 1644 天:同一天的空气,早上 8 点报 3,下午 5 点报 10
开发语言·python·数据分析·api·restful·数据可视化·开放数据