0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用京东开放平台API获取店铺所有商品

万邦 来源:jf_79933741 作者:jf_79933741 2026-03-27 17:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在电商开发中,整合京东平台数据是常见需求。本文将一步步指导您通过京东开放平台API获取指定店铺的所有商品信息。京东API采用OAuth 2.0认证,支持分页查询,确保数据完整获取。以下是详细实现方案(基于京东开放平台最新文档,实际使用时请参考官方文档确认细节)。

步骤1: 准备工作

注册开发者账号:访问京东开放平台,注册账号并创建应用,获取App Key和App Secret。

权限申请:在控制台申请“商品信息读取”权限,审核通过后获得API调用资格。

工具准备:推荐使用Python语言,安装requests库处理HTTP请求。

步骤2: 确定API接口

京东提供多个商品相关API,核心接口为jingdong.goods.get(获取单个商品)和jingdong.goods.search(搜索商品)。要获取所有商品,需使用搜索接口并添加店铺ID参数:

API端点:https://api.jd.com/routerjson

请求方法:POST

关键参数

method: 设为jingdong.goods.search

shop_id: 店铺唯一ID(可从商家后台获取)

page_no: 页码(从1开始)

page_size: 每页商品数(建议设为100,京东API上限)

其他参数如access_token(认证令牌)需动态生成。

步骤3: 处理认证和分页

京东API需签名认证,使用HMAC-SHA256算法生成签名。分页逻辑基于总商品数$N$和每页大小$S$,计算总页数:
$$
text{总页数} = leftlceil frac{N}{S} rightrceil
$$
其中$N$通过首次API响应中的total字段获取,$S$为page_size。循环调用API直到所有页遍历完成。

步骤4: 代码实现示例

以下Python代码演示完整流程(使用伪参数,替换为您的App Key、App Secret和shop_id):

import requests
import hashlib
import time
import json

# 配置参数
app_key = "YOUR_APP_KEY"
app_secret = "YOUR_APP_SECRET"
shop_id = "YOUR_SHOP_ID"  # 替换为实际店铺ID
access_token = "YOUR_ACCESS_TOKEN"  # 通过OAuth流程获取

def generate_sign(params, app_secret):
    """生成API签名(HMAC-SHA256)"""
    sorted_params = sorted(params.items())
    query_str = app_secret + ''.join([f"{k}{v}" for k, v in sorted_params]) + app_secret
    return hashlib.sha256(query_str.encode('utf-8')).hexdigest().upper()

def fetch_all_goods(shop_id, max_page_size=100):
    """获取店铺所有商品"""
    base_url = "https://api.jd.com/routerjson"
    all_goods = []
    page_no = 1
    total_pages = 1  # 初始值,后续更新
    
    while page_no <= total_pages:
        # 构建请求参数
        params = {
            "method": "jingdong.goods.search",
            "timestamp": str(int(time.time())),
            "format": "json",
            "v": "2.0",
            "app_key": app_key,
            "shop_id": shop_id,
            "page_no": page_no,
            "page_size": max_page_size,
            "access_token": access_token
        }
        params["sign"] = generate_sign(params, app_secret)
        
        # 发送API请求
        response = requests.post(base_url, data=params)
        data = response.json()
        
        # 错误处理
        if "error_response" in data:
            error_code = data["error_response"]["code"]
            error_msg = data["error_response"]["msg"]
            raise Exception(f"API错误: 代码{error_code}, 消息: {error_msg}")
        
        # 解析数据
        result = data["jingdong_goods_search_responce"]["result"]
        goods_list = result["goods_list"]
        total_goods = result["total"]  # 总商品数
        all_goods.extend(goods_list)
        
        # 更新分页信息
        total_pages = (total_goods + max_page_size - 1) // max_page_size  # 计算总页数: $leftlceil frac{N}{S} rightrceil$
        page_no += 1
    
    return all_goods

# 执行示例
try:
    goods_data = fetch_all_goods(shop_id)
    print(f"成功获取{len(goods_data)}个商品")
    # 可保存为JSON文件: with open("jd_goods.json", "w") as f: json.dump(goods_data, f)
except Exception as e:
    print(f"获取失败: {e}")
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

步骤5: 数据解析与处理

API响应为JSON格式,关键字段包括:

goods_list: 商品数组,每个商品含sku_id(商品ID)、name(名称)、price(价格)等。

total: 总商品数,用于分页控制。
建议存储到数据库或文件(如JSON/CSV),便于后续分析。

注意事项

频率限制:京东API有调用频率限制(通常100次/分钟),超出会报错code: 13,需添加延时(如time.sleep(0.5))。

认证更新:access_token有效期2小时,过期需刷新(使用refresh_token)。

数据完整性:确保处理网络异常(添加重试机制),并校验响应中的total与实际获取数是否一致。

官方参考:京东API可能更新,请定期查看文档。

通过以上步骤,您可以高效集成京东商品数据。如有疑问,欢迎在评论区讨论!


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    2474

    浏览量

    67005
  • 京东
    +关注

    关注

    2

    文章

    1129

    浏览量

    50140
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    淘宝店铺所有商品接口

    获取 淘宝店铺所有商品 ,核心依赖 淘宝开放平台(TOP) 的官方
    的头像 发表于 04-08 14:39 247次阅读

    调用淘宝开放平台API获取店铺所有商品列表

    ​  在电商系统开发或数据分析场景中,有时需要批量获取淘宝店铺所有商品信息。淘宝开放平台(Ta
    的头像 发表于 03-27 17:38 733次阅读
    调用淘宝<b class='flag-5'>开放</b><b class='flag-5'>平台</b><b class='flag-5'>API</b><b class='flag-5'>获取</b><b class='flag-5'>店铺</b><b class='flag-5'>所有</b><b class='flag-5'>商品</b>列表

    如何通过京东开放平台API获取店铺所有商品列表

    ​ 对于在京东平台运营店铺的商家或开发者来说,自动化管理和分析店铺商品数据是提升效率的关键。京东开放
    的头像 发表于 03-17 17:30 654次阅读
    如何通过<b class='flag-5'>京东</b><b class='flag-5'>开放</b><b class='flag-5'>平台</b><b class='flag-5'>API</b><b class='flag-5'>获取</b><b class='flag-5'>店铺</b><b class='flag-5'>所有</b><b class='flag-5'>商品</b>列表

    调用拼多多开放平台API获取店铺所有商品列表

    ​ 对于在拼多多平台上运营店铺的商家或开发者而言,高效地管理和分析店铺商品至关重要。拼多多开放平台
    的头像 发表于 03-17 17:28 1181次阅读
    调用拼多多<b class='flag-5'>开放</b><b class='flag-5'>平台</b><b class='flag-5'>API</b><b class='flag-5'>获取</b><b class='flag-5'>店铺</b><b class='flag-5'>所有</b><b class='flag-5'>商品</b>列表

    如何通过1688开放平台API获取指定店铺所有商品

    ​ 场景需求: 在开发电商ERP、数据采集工具或竞品分析系统时,经常需要获取1688平台上某个店铺的全部商品信息(如标题、价格、SKU、库存等)。本文将介绍如何通过1688
    的头像 发表于 03-16 17:23 565次阅读
    如何通过1688<b class='flag-5'>开放</b><b class='flag-5'>平台</b><b class='flag-5'>API</b><b class='flag-5'>获取</b>指定<b class='flag-5'>店铺</b><b class='flag-5'>所有</b><b class='flag-5'>商品</b>

    ​​​​​​​如何通过淘宝开放平台API获取指定店铺所有商品信息

    ​ 引言 对于开发者而言,获取特定淘宝店铺所有商品信息是进行数据分析、库存管理、价格监控或搭建第三方应用等场景的常见需求。淘宝开放
    的头像 发表于 03-16 17:21 464次阅读
    ​​​​​​​如何通过淘宝<b class='flag-5'>开放</b><b class='flag-5'>平台</b><b class='flag-5'>API</b><b class='flag-5'>获取</b>指定<b class='flag-5'>店铺</b>的<b class='flag-5'>所有</b><b class='flag-5'>商品</b>信息

    通过京东开放平台API根据商品ID获取商品详情技术指南

    京东开放平台为开发者提供了丰富的API接口,允许开发者获取商品信息、订单数据等。本技术贴将详细介
    的头像 发表于 03-11 17:05 660次阅读

    京东商品详情API接口详解:获取商品标题、价格、库存等核心数据

    京东商品详情 API获取商品 标题、价格、库存、SKU、主图、参数 等核心数据的官方合规入口,分
    的头像 发表于 03-02 14:28 554次阅读

    1688店铺所有商品API使用指南

    店铺所有商品 API 的使用方法,帮助开发者快速实现接口对接。 一、摘要 1688 店铺所有
    的头像 发表于 12-22 13:49 1310次阅读

    1688平台获取店铺所有商品列表API接口技术详解

    应用开发。本帖子将逐步介绍如何调用1688平台的“获取店铺所有商品列表”API接口,包括认证、请
    的头像 发表于 11-11 14:04 880次阅读
    1688<b class='flag-5'>平台</b><b class='flag-5'>获取</b><b class='flag-5'>店铺</b><b class='flag-5'>所有</b><b class='flag-5'>商品</b>列表<b class='flag-5'>API</b>接口技术详解

    调用拼多多开放平台 API 获取店铺列表

    ​  在电商平台生态开发中,获取店铺信息是常见的需求。本文将介绍如何通过拼多多开放平台API
    的头像 发表于 11-10 15:30 870次阅读
    调用拼多多<b class='flag-5'>开放</b><b class='flag-5'>平台</b> <b class='flag-5'>API</b> <b class='flag-5'>获取</b><b class='flag-5'>店铺</b>列表

    淘宝平台获取店铺商品列表API接口实现详解

    ​ 在电商数据分析、店铺管理工具开发或竞品监控等场景下,通过API接口获取淘宝店铺商品列表数据是一项常见且重要的需求。本文将介绍如何通过淘
    的头像 发表于 11-06 15:22 560次阅读
    淘宝<b class='flag-5'>平台</b><b class='flag-5'>获取</b><b class='flag-5'>店铺</b><b class='flag-5'>商品</b>列表<b class='flag-5'>API</b>接口实现详解

    微店所有店铺内的商品数据API接口

    场景‌。通过API获取商品数据比传统爬虫方式更稳定高效,且符合平台规范‌。 二、基本接口 [item_search根据关键词取商品列表] [
    的头像 发表于 10-24 10:38 589次阅读

    借助京东 API京东店铺商品质量反馈快速收集

    ​ 在电商运营中,商品质量反馈是优化产品和服务的关键。京东店铺的商家需要通过用户评价、投诉数据等及时了解商品问题,但手动收集效率低下、易出错。借助
    的头像 发表于 08-15 14:55 1017次阅读
    借助<b class='flag-5'>京东</b> <b class='flag-5'>API</b>,<b class='flag-5'>京东</b><b class='flag-5'>店铺</b><b class='flag-5'>商品</b>质量反馈快速收集

    揭秘京东 API,让京东店铺商品推荐更懂用户

    ​ 在当今电商时代,个性化推荐已成为提升用户体验的关键。京东作为国内领先的电商平台,其开放 API 为开发者提供了强大的工具,帮助店铺实现更
    的头像 发表于 08-14 15:04 1089次阅读
    揭秘<b class='flag-5'>京东</b> <b class='flag-5'>API</b>,让<b class='flag-5'>京东</b><b class='flag-5'>店铺</b><b class='flag-5'>商品</b>推荐更懂用户