ITPub博客

首页 > 大数据 > 数据分析 > 批量获取京东商品历史价格信息,item_history_priceAPI接口返回参数讲解

批量获取京东商品历史价格信息,item_history_priceAPI接口返回参数讲解

原创 数据分析 作者:OneLafite 时间:2025-12-25 11:08:30 0 删除 编辑

京东商品历史价格API接口(如 item_history_price)的调用需通过京东开放平台完成,以下是核心参数讲解及操作指南:

一、接口调用前提

  1. 注册开发者账号:访问京东开放平台,完成企业/个人实名认证。
  2. 创建应用:在控制台创建应用,选择“商品详情API”权限组,获取 AppKey和 AppSecret(用于身份验证)。
  3. 遵守规则:单日调用上限10万次,QPS默认50次/秒,需避免高频请求触发风控。

二、接口参数详解

请求参数

  • 必填参数:
    • num_iid:商品ID(如 100033966459),唯一标识商品。
    • app_key:开发者应用的AppKey。
    • method:接口方法名(如 jd.item_history_price)。
    • timestamp:请求时间戳(秒级)。
    • sign:签名(通过 AppSecret对参数排序后生成,防篡改)。
  • 可选参数:
    • start_date/ end_date:查询时间范围(默认近30天)。
    • region:地区编码(如北京 1,上海 2),用于区域价差分析。

返回参数示例

json{  "items": {    "num_iid": "63153022346",    "title": "安踏女鞋跑步鞋",    "detail_url": "https://item.jd.com/63153022346.html",    "lower_price": 159.01,    "lower_date": "2021-02-24",    "current_price": 169.00,    "item": [      {"date": "2021-02-24", "price": 159.01, "discount": "满减"},      {"date": "2021-02-25", "price": 159.01, "discount": ""}    ]  },  "error": "",  "error_code": "0000",  "api_info": "today:15 max:10000",  "execution_time": 0.682}
  • 核心字段:
    • items.item:历史价格数组,含日期、价格、折扣信息。
    • lower_price/ lower_date:历史低价及对应日期。
    • error_code: 0000表示成功,其他代码需参考错误文档。

三、Python调用示例

pythonimport requestsimport hmacimport hashlibimport jsonfrom datetime import datetimedef generate_sign(secret, params):    sorted_params = sorted(params.items())    query_string = ''.join(f'{k}{v}' for k, v in sorted_params)    return hmac.new(secret.encode(), query_string.encode(), hashlib.sha256).hexdigest().upper()# 配置参数app_key = "YOUR_APP_KEY"app_secret = "YOUR_APP_SECRET"url = "https://api.jd.com/routerjson"params = {    "method": "jd.item_history_price",    "app_key": app_key,    "timestamp": str(int(datetime.now().timestamp())),    "num_iid": "100033966459",    "param_json": json.dumps({"start_date": "2025-01-01", "end_date": "2025-12-25"})}params["sign"] = generate_sign(app_secret, params)# 发送请求response = requests.get(url, params=params)data = response.json()# 解析结果if data.get("error_code") == "0000":    price_history = data["items"]["item"]    for record in price_history:        print(f"日期: {record['date']}, 价格: {record['price']}, 折扣: {record.get('discount', '')}")else:    print(f"请求失败: {data.get('reason', '未知错误')}")

四、注意事项

  1. 数据延迟:第三方存档平台可能存在1-2天延迟,京东官方不直接提供历史价格接口。
  2. 区域价差:部分商品存在地区价格差异,需指定 region参数。
  3. 错误处理:需捕获 签名错误(1001)、 参数缺失(1002)等异常,重试时采用指数退避策略。
  4. 商用授权:商用需获得京东及数据提供方双重授权,避免法律风险。

通过上述步骤,可批量获取京东商品历史价格,并分析价格趋势、制定定价策略。如需进一步处理数据(如可视化),可使用 matplotlib生成折线图,或存储到MySQL数据库进行长期分析。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70046834/viewspace-3106220/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
专业研发电商平台API开放接口,搭建独立站系统,反向海淘代购系统十年+,https://o0b.cn/lafite。

注册时间:2025-06-20

  • 博文量
    231
  • 访问量
    258389