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

admin2个月前京东API104

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

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

  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 的服务商,一般都支持按量付费 + 免费测试额度,接入前先测试几个商品,确认字段和数据质量再决定。

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


相关文章

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

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

自动化更新京东商品详情数据解决方案落地实操

自动化更新京东商品详情数据解决方案落地实操

 编辑编辑item_get-获得JD商品详情公共参数   获取测试key 名称 类型 必须 描述...

京东商品评论接口|用API获取商品评论数据实战演示

京东商品评论接口|用API获取商品评论数据实战演示

 编辑jd.item_review获取京东商品评论1、查看API文档,请求参数响应参数、请求示例等请求参数请求参数:num_iid=71619129750&page=1&so...

京东商品详情API:获取商品主图价格sku信息

京东商品详情API:获取商品主图价格sku信息

 编辑京东商品详情接口的业务场景如下:一、比价类业务(最主流)价格监控系统 输入商品 ID,实时抓取售价、活动价、优惠券到手价,定时巡检价格波动,降价自动预警。适用于采购盯价、囤货提醒、竞品...

京东商品详情获取实例|如何通过调用API获取京东商品价格主图详情图信息

京东商品详情页调用API返回json数据(部分)"item": {  "num_iid": "100010956919...

1688代采API技术解析:从接口设计到系统集成的完整实践

前言在跨境电商和反向海淘业务场景中,1688作为国内最大的B2B采购平台,其商品数据的自动化获取和代采流程的API化是很多技术团队关注的重点。本文将从技术角度系统解析1688代采API的架构设计、核心...

发表评论    

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