Python采集京东商品详情:基于官方API的规格与价格获取

核心思路 :通过京东开放平台API接口获取商品SKU、规格、价格等核心数据,解析JSON响应实现结构化存储。
技术实现

  1. API权限申请 :在京东开放平台注册开发者账号,创建应用并申请jd.item.sku.get接口权限,获取AppKeyAppSecret
  2. 请求参数构建
    • 必填参数:method(接口方法)、app_keyskuId(商品ID)、timestamp(时间戳)。
    • 签名生成:将参数按字母排序后拼接AppSecret,通过MD5加密生成签名。
  3. 响应解析 :解析返回的JSON数据,提取basicInfo(商品标题、图片)、price(当前价、原价)、stock(库存)、specs(规格列表)等字段。
    示例代码

python

复制代码
`import requests, hashlib, time

class JD_API:
    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 sign(self, params):
        sorted_params = sorted(params.items())
        sign_str = self.app_secret
        for k, v in sorted_params:
            sign_str += f"{k}{v}"
        sign_str += self.app_secret
        return hashlib.md5(sign_str.encode()).hexdigest().upper()

    def get_sku_info(self, sku_id):
        params = {
            "method": "jd.item.sku.get",
            "app_key": self.app_key,
            "skuId": sku_id,
            "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
            "v": "2.0"
        }
        params["sign"] = self.sign(params)
        response = requests.get(self.api_url, params=params)
        return response.json()

# 使用示例
api = JD_API("YOUR_APP_KEY", "YOUR_APP_SECRET")
data = api.get_sku_info("123456789")
print(data["jd_item_sku_get_response"]["item"]["price"])`
相关推荐
SeaTunnel1 分钟前
87 个 PR 迭代复盘|Apache SeaTunnel 5 月版本重点更新解读
大数据·数据库·开源·apache·seatunnel
qq_366566504 分钟前
短视频批量翻译+配音自动化:Python脚本处理TikTok/Reels/Shorts全流程
python·chatgpt·自动化·音视频·媒体
DolphinScheduler社区5 分钟前
实战演示 | 基于 Apache DolphinScheduler 与 Apache SeaTunnel 实现 MySQL 到 Doris 离线定时增量同步
数据库·mysql·开源·apache·海豚调度·大数据工作流调度
2401_885665197 分钟前
从神经元到BP反向传播,零基础吃透神经网络底层原理
人工智能·python·深度学习·神经网络·opencv
bmjIjFNC87 分钟前
Redis分布式锁进第九十一篇
数据库·redis·分布式
.千余9 分钟前
【C++】C++继承入门(上):继承语法与基本特性详解
开发语言·c++·笔记·学习·其他
承渊政道9 分钟前
【MySQL数据库学习】MySQL基本查询(下)
数据库·学习·mysql·leetcode·bash·数据库开发·数据库系统
TPBoreas10 分钟前
前端面试问题打把-场景题
开发语言·前端·javascript
摇滚侠10 分钟前
Spring 零基础入门到进阶 基于注解的声明式事务 65-70
数据库·mysql·spring
≮傷£≯√14 分钟前
动态创建combobox
数据库