京东商品详情API调用教程:Python 30行代码搞定商品数据采集

admin7小时前京东API5

一、为什么我劝你别再自己写爬虫

做比价、选品、店铺分析、竞品监控的朋友,大概率都经历过这条血泪路:

  1. 写个爬虫抓京东商品页 → 跑两天还行;

  2. 某天突然全是滑块验证、risk 风控页面、请求被限流;

  3. 换 IP、调 headers、解滑块……花的时间比业务本身还多;

  4. 页面改版,XPath/CSS 选择器全部失效,又要重写。

核心问题:爬虫是"对抗",数据接口是"合作"。

使用正规的商品详情数据API(由服务商对接平台官方授权数据通道),好处很直接:

  • 稳定:不会因为页面改版就挂;

  • 合规:走授权数据源,规避法律风险;

  • 省事:一个接口返回结构化字段,不用自己解析 HTML;

  • 数据全:标题、价格、主图、SKU规格、销量、店铺信息一次拿齐。


二、准备工作

对接京东商品详情API,你需要: 点此申请appkey

说明
AppKey / AppSecret向 API 服务商申请,用于身份认证与签名
接口地址api.你的服务商域名.com/jd/item/get(以实际文档为准)
item_id京东商品ID,即商品URL中 item.jd.com/10001204397 的 100012043978
本文代码为通用演示写法,不同服务商的域名、字段名、签名算法略有差异,请以你所接入服务商的 API 文档为准。

三、核心代码:约30行搞定

import time
import hashlib
import requests

APP_KEY = "你的AppKey"
APP_SECRET = "你的AppSecret"
API_URL = "https://api.你的服务商域名.com/jd/item/get"

def sign(params: dict) -> str:
    """参数排序拼接 + 密钥做MD5签名(算法以文档为准)"""
    text = "&".join(f"{k}={params[k]}" for k in sorted(params))
    text += "&key=" + APP_SECRET
    return hashlib.md5(text.encode("utf-8")).hexdigest()

def get_jd_item(item_id: str) -> dict:
    params = {
        "app_key": APP_KEY,
        "timestamp": str(int(time.time())),
        "item_id": item_id,
    }
    params["sign"] = sign(params)
    resp = requests.get(API_URL, params=params, timeout=10).json()
    if resp.get("code") != 0:
        raise RuntimeError(f"接口异常: {resp}")
    return resp["data"]   # 核心商品数据

if __name__ == "__main__":
    data = get_jd_item("100012043978")   # 换成你要采集的商品ID
    print("标题:", data["title"])
    print("价格:", data["price"])
    print("主图:", data["images"][0])
    print("SKU数:", len(data["skus"]))
    for sku in data["skus"][:3]:          # 打印前3个规格
        print("  ", sku["name"], "->", sku["price"])

以上核心逻辑就是:拼参数 → 签名 → 请求 → 解析返回,约30行。批量采集只需在外面套一层循环 + 限速,即可做成自己的选品库。


四、返回数据长什么样

接口返回为 JSON,核心字段示例如下(演示结构):

{
"code"
:
0
,
"data"
:
{
"item_id"
:
"100012043978"
,
"title"
:
"商品标题"
,
"price"
:
99.00
,
"origin_price"
:
129.00
,
"images"
:
[
"主图URL1"
,
"主图URL2"
]
,
"category"
:
"手机配件"
,
"shop_name"
:
"店铺名称"
,
"skus"
:
[
{
"sku_id"
:
"1"
,
"name"
:
"黑色"
,
"price"
:
99.00
,
"stock"
:
500
}
]
,
"sales"
:
12000
}
}
字段含义常见用途
title商品标题上架、比价
price / origin_price现价 / 原价价格监控、利润测算
images主图列表独立站/店铺上架素材
skus规格明细(ID/名称/价格/库存)下单对接、库存同步
sales销量选品判断
shop_name店铺名供应商评估

五、使用中要注意什么

  1. 频控:API 有 QPS 上限,批量采集要加 time.sleep() 限速,超限会被限流或封 Key;

  2. 价格实时性:部分类目价格会随促销变动,做"价格监控"时请以接口返回的实时字段为准,建议缓存 + 定期刷新策略;

  3. 字段按需申请:销量、评价等敏感字段可能需要单独开通权限,先和客服确认;

  4. 错误码处理:常见 code 有参数错误、签名错误、无权限、频控超限,开发时要逐一映射成可读日志,方便排查。


六、写在最后

一句话总结:与其花两周时间维护一个随时可能失效的爬虫,不如用 30 行代码对接商品详情API,把精力省下来放在选品和运营上。

目前市面上有提供京东(及淘宝/天猫/1688/拼多多等)商品数据 API 的服务商,一般都支持按量付费 + 免费测试额度,接入前先测试几个商品,确认字段和数据质量再决定。

如果你也在做电商数据采集或选品工具,欢迎在评论区聊聊你踩过的反爬坑,或在私信里交流接口选型经验。


相关文章

爬虫试用 | 京东商品详情搜索采集助手 – 一键批量采集下载商品详情

爬虫试用 | 京东商品详情搜索采集助手 – 一键批量采集下载商品详情

API:京东item_get_pro功能:输入关键词搜索批量采集商品详情内容,如标题、相应的sku、sku对应的价格、主图、详情图、原价、到手价、优惠、店铺名、店铺id、店铺评分、简介等。公共参数点击...

京东api:通过关键字获取京东商品列表关键字搜索商品接口

京东api:通过关键字获取京东商品列表关键字搜索商品接口

 item_search_pro-按关键字搜索商品搜索“电视机”的商品,请求示例    -- 请求示例 url 默认请求参数已经URL编码处理curl -i &...

企业级应用:京东商品详情 API 的高可用架构与多级缓存设计

企业级应用:京东商品详情 API 的高可用架构与多级缓存设计

在电商企业级应用中,商品详情数据是核心业务载体,而京东商品详情 API 作为获取京东平台商品信息的核心入口,其调用的高可用性、低延迟直接决定了业务体验与运营效率。无论是电商比价平台、供应链管理系统,还...

电商数据采集实战:批量自动化获取淘宝、京东商品评论数据

在电商运营、竞品分析、市场调研场景中,商品评论是最具价值的用户反馈数据,包含用户需求、产品痛点、口碑评价等核心信息。手动复制评论效率极低,无法满足批量、高频次的数据采集需求。本文将基于 Python,...

企业ERP进销存场景|京东商品详情接口自动同步方案|凭证鉴权批量调用技术实操

一、业务背景:企业ERP进销存的核心痛点在电商自营、多渠道铺货、线上线下一体化经营的企业场景中,ERP进销存系统是管控商品、库存、价格、订单的核心中枢。多数企业同时布局京东商城店铺,日常经营中需要将京...

京东商品主图 & 详情图 API 接口实战开发|电商图片数据合规获取方案

京东商品主图 & 详情图 API 接口实战开发|电商图片数据合规获取方案

在电商数据分析、选品系统、商品采集、跨境分销、反向海淘等业务场景中,稳定获取京东商品主图、详情页图片、sku 规格图、轮播图是核心基础需求。本文从实际开发角度,讲解京东商品图片数据的技术获取难点、自研...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。