当前位置: 首页 > news >正文

京东商品详情全自动采集实战|标准化 JD 商品详情接口 + 多 AI Agent 搭建无人化货源分析系统

做京东货源采购、竞品调研、跨平台铺货、自研进销存系统的开发者和运营,都会频繁需要完整商品结构化数据。京东区分自营、工业、医药、全球购多个业务站点,不同站点页面字段展示逻辑存在差异,如果手动打开页面复制标题、售价、尺码规格、主图、店铺信息,批量处理几十上百款商品会耗费大量时间,人工整理 SKU 还极易出错。

传统页面爬虫方案存在明显短板:页面改版后解析规则失效、高频抓取容易触发风控限制、多站点适配开发成本高。今天分享一套标准化商品详情查询接口方案,搭配分层 AI Agent 自动化架构,输入商品 ID 即可一键拉取全量商品数据,自动区分京东各业务站点,完成数据清洗、规格拆解、信息汇总导出,全程无需人工介入,个人选品、工作室批量铺货、企业 ERP 对接都能直接落地使用。

一、京东商品详情查询接口完整文档

接口标识:jd.item_get核心能力:传入商品 ID 与站点标识,返回商品标题、价格区间、库存、全套图片、多规格 SKU、品牌、店铺、销售属性等完整结构化数据请求地址:https://api-gw.onebound.cn/jd/item_get

1.1 通用公共请求参数

所有接口请求均通过 GET 方式拼接参数,公共参数统一由调度 Agent 全局挂载配置,一次填写,所有采集任务自动携带,无需重复传入。

表格

参数名类型必填使用说明
keyString接口调用授权凭证,URL 拼接传递
secretString接口安全密钥,用于身份校验
api_nameString接口标识,固定填写 jd.item_get
cacheString可选 yes/no,默认开启缓存,重复查询提速
result_typeString返回数据格式,支持 json、jsonu、xml;jsonu 中文展示无转义
langString输出语言,默认 cn 简体中文
versionString接口版本标识,按需传入

1.2 业务核心入参

表格

参数名必填参数释义取值规则
num_iid京东商品唯一 ID商品详情页链接内数字 ID
domain_type业务站点区分jd = 京东自营;gongye = 京东工业;yiyao = 京东医药;hk = 全球购 / 国际站
watermark图片水印控制传 1 返回无水印原图,不传默认带平台水印

基础请求示例 URL

plaintext

https://api-gw.onebound.cn/jd/item_get/?key=你的密钥key&secret=你的密钥secret&num_iid=10335871600&domain_type=jd

1.3 返回响应字段分层解析

接口返回标准 JSON 结构,数据统一封装在 item 对象内,结构规整,适配 AI Agent 自动解析、提取、分类存储,核心字段分为四大类:

1. 商品基础信息

num_iid(商品 ID)、title(完整标题)、desc_short(简短简介)、price(日常售价)、orginal_price(原价)、nick(店铺掌柜名)、num(总库存)、min_num(最小起购量)、detail_url(商品原生链接)、brand/brandId(品牌与品牌编号)、rootCatId/cid(一二级分类 ID)、location(发货地)

2. 素材图片资源

pic_url(封面主图)、item_imgs(轮播图数组)、prop_imgs/props_img(规格对应属性图)、video_id(商品短视频标识)

3. 规格 SKU 与销售属性

props_name:属性名编码串,格式固定 pid:vid: 分类:值property_alias:规格别名映射props_list:键值对结构化属性字典skus 数组:每个单品规格独立数据,包含 sku 唯一 ID、对应规格名称、售价、库存、单品链接

4. 店铺商家信息

seller_id、shop_id、seller_info 对象,包含店铺主页地址、店铺名称、店铺类型标识

1.4 标准化错误码 & 自动化处理策略

智能异常 Agent 内置全套错误码判断逻辑,出现异常自动执行重试、延时、任务终止、日志提醒,无需人工盯守程序:

表格

错误码问题场景Agent 自动处理方案
0000调用成功,数据正常返回进入清洗、解析、存储流程
2000请求成功,但无商品数据标记商品失效,跳过当前 ID,继续下一条任务
4003参数格式错误、参数缺失自动校验 num_iid、domain_type 等必填项,终止本条请求
4008接口访问并发超限休眠延时,分批次延后重试
4013当日调用额度耗尽暂停全部采集任务,记录断点,次日续跑
4016账户可用额度不足输出告警日志,停止批量采集
4017请求链路超时最多重试 2 次,超时直接跳过该商品
4005授权校验失败提示核对 key、secret 凭证

二、多 AI Agent 自动化协作整体架构

沿用成熟的分层解耦智能体设计,整套采集流程拆分为 5 个独立 Agent,流水线串联执行,模块之间互不耦合,后期新增功能、修改规则只需调整对应 Agent,拓展性极强。

  1. 任务调度 Agent接收批量商品 ID 清单、站点类型、图片水印开关等配置,批量生成标准化请求参数队列,统一管理全局 key、secret 等公共配置,向下分发采集任务。
  2. JD 商品请求 Agent循环遍历任务队列,循环调用商品详情接口,捕获网络异常、各类错误码,按照预设策略完成重试、延时、跳过操作,批量存储原始返回 JSON 数据。
  3. 数据清洗结构化 Agent过滤空值、无效冗余字段,拆分长串属性字符串,统一图片链接格式,把零散 SKU、品牌、分类、店铺信息整理为规整字典,剔除无效空白数据。
  4. 货源筛选 Agent自定义筛选规则,支持按价格区间、库存数量、是否自营店铺过滤商品,筛除滞销、溢价过高、无库存的低价值货源,输出优质商品清单。
  5. 报表导出 Agent汇总清洗、筛选完成的结构化数据,自动生成 Excel 表格,包含标题、价格、SKU 明细、全套图片链接、店铺信息,可直接用于铺货、货源复盘、数据分析。

完整自动化执行链路

批量商品 ID 列表输入 → 调度 Agent 生成请求任务队列 → 请求 Agent 循环拉取原始商品数据 → 清洗 Agent 规整所有字段 → 筛选 Agent 过滤优质货源 → 导出 Agent 生成可落地 Excel 报表

三、开箱即用完整 Python 源码

代码模块化拆分对应五大 Agent,注释清晰,替换密钥、商品 ID、站点参数即可直接运行,支持批量商品循环采集、自动异常处理、数据筛选与本地文件导出。

python

运行

# -*- coding: utf-8 -*- """ 多AI Agent 京东商品详情全自动采集工具 接口:jd.item_get 功能:多站点兼容、批量采集、数据清洗、货源筛选、Excel报表导出 适配自营/工业/医药/全球购全渠道商品 """ import requests import time import pandas as pd # ====================== 全局自定义配置区 ====================== API_KEY = "你的调用key" API_SECRET = "你的调用secret" # 批量待采集商品ID列表,可自行追加多个id GOODS_ID_LIST = ["10335871600","10057467958584"] # 站点类型 jd/gongye/yiyao/hk DOMAIN_TYPE = "jd" # 1=返回无水印图片,0/空=带水印 WATERMARK = 1 # 价格筛选区间 MIN_PRICE = 50 MAX_PRICE = 1000 # ============================================================= BASE_API = "https://api-gw.onebound.cn/jd/item_get" # Agent1:任务调度与参数生成 class ScheduleAgent: def create_task_queue(self, id_list, domain, watermark): task_arr = [] for goods_id in id_list: params = { "key": API_KEY, "secret": API_SECRET, "api_name": "jd.item_get", "num_iid": goods_id, "domain_type": domain, "watermark": watermark, "cache": "yes", "result_type": "jsonu", "lang": "cn" } task_arr.append(params) print(f"已生成 {len(task_arr)} 个商品采集任务") return task_arr # Agent2:接口请求、异常捕获与重试 class FetchAgent: def __init__(self): self.raw_data_pool = [] def single_fetch(self, params, retry=2): try: resp = requests.get(BASE_API, params=params, timeout=20) res_json = resp.json() err_code = res_json.get("error_code") goods_id = params["num_iid"] if err_code == "0000": item_info = res_json.get("item", {}) self.raw_data_pool.append(item_info) print(f"✅ 商品{goods_id} 采集完成") return True elif err_code == "2000": print(f"ℹ️ 商品{goods_id}:不存在或已下架,跳过") return False elif err_code == "4008": print(f"⚠️ 访问并发过高,等待5s重试商品{goods_id}") time.sleep(5) if retry > 0: self.single_fetch(params, retry - 1) return False elif err_code == "4017": print(f"⚠️ 商品{goods_id} 请求超时,重试一次") time.sleep(3) if retry > 0: self.single_fetch(params, retry - 1) return False else: print(f"❌ 商品{goods_id} 采集异常:{res_json.get('reason')}") return False except Exception as e: print(f"网络请求异常:{str(e)}") return False def run_all_tasks(self, task_list): for task in task_list: self.single_fetch(task) time.sleep(0.6) return self.raw_data_pool # Agent3:数据清洗、字段规整 class CleanAgent: def clean_item_data(self, raw_list): clean_result = [] for item in raw_list: temp = {} # 基础商品信息 temp["商品ID"] = item.get("num_iid", "") temp["商品标题"] = item.get("title", "") temp["售价"] = item.get("price", "") temp["原价"] = item.get("orginal_price", "") temp["店铺名称"] = item.get("seller_info", {}).get("shop_name", "") temp["商品链接"] = f"https:{item.get('detail_url', '')}" temp["品牌"] = item.get("brand", "") temp["总库存"] = item.get("num", 0) temp["发货地"] = item.get("location", "未标注") # 主图拼接 main_img = item.get("pic_url", "") img_list = [img["url"] for img in item.get("item_imgs", [])] temp["主图链接"] = f"https:{main_img}" if main_img else "" temp["全部轮播图"] = ",".join([f"https:{u}" for u in img_list]) # 解析SKU规格 sku_raw = item.get("skus", {}).get("sku", []) sku_text = [] for sku in sku_raw: sku_text.append(f"{sku['properties_name']}|价格{sku['price']}|库存{sku['quantity']}") temp["全部SKU规格"] = "\n".join(sku_text) clean_result.append(temp) print(f"\n数据清洗完成,有效商品共 {len(clean_result)} 个") return clean_result # Agent4:货源智能筛选 class FilterAgent: def filter_by_price(self, data_list, low, high): filter_arr = [] for goods in data_list: try: price = float(goods["售价"]) if low <= price <= high: filter_arr.append(goods) except: continue print(f"\n价格筛选完成,{low}~{high}元符合货源共 {len(filter_arr)} 个") return filter_arr # Agent5:Excel报表导出 class ExportAgent: def save_excel(self, data): df = pd.DataFrame(data) file_name = "京东货源采集清单.xlsx" df.to_excel(file_name, index=False) print(f"\n📁 货源表格已生成:{file_name}") print("🎉 全流程自动化采集执行完毕") # 程序主入口 if __name__ == "__main__": # 1. 生成采集任务队列 schedule = ScheduleAgent() tasks = schedule.create_task_queue(GOODS_ID_LIST, DOMAIN_TYPE, WATERMARK) # 2. 批量调用接口采集原始数据 fetcher = FetchAgent() all_raw = fetcher.run_all_tasks(tasks) if not all_raw: print("未采集到任何商品数据,程序终止") else: # 3. 清洗规整所有字段 cleaner = CleanAgent() clean_data = cleaner.clean_item_data(all_raw) # 4. 按价格筛选优质货源 filter_agent = FilterAgent() final_data = filter_agent.filter_by_price(clean_data, MIN_PRICE, MAX_PRICE) # 5. 导出本地Excel表格 export = ExportAgent() export.save_excel(final_data)

运行前置操作

  1. 安装依赖库,执行终端命令

bash

运行

pip install requests pandas openpyxl
  1. 修改代码顶部配置区,填入自己的 key、secret,替换需要采集的商品 ID 列表
  2. 按需修改 domain_type 切换自营 / 工业 / 医药站点,调整价格筛选区间
  3. 直接运行脚本,全自动完成采集、清洗、筛选、导出

四、四大落地业务场景

场景 1:京东渠道货源批量比价采购

整理一批目标品类商品 ID,脚本批量拉取售价、库存、发货仓库、多规格价格,横向对比多家店铺同款成本,快速筛选性价比最高的采购货源,替代人工逐个打开页面记录数据。

场景 2:跨平台无货源铺货素材整理

采集商品标题、全套轮播图、规格 SKU、品牌参数,导出表格后可直接导入铺货工具,自动适配拼多多、抖音小店等渠道上架,统一获取无水印素材降低美工工作量。

场景 3:竞品商品动态监控

搭配定时任务每日自动采集同行爆款商品,监控价格调整、库存变动、规格增减,及时捕捉竞品促销活动,调整自身商品定价与运营策略。

场景 4:企业自研 ERP 商品库搭建

对接内部进销存系统,定时同步京东渠道商品完整结构化数据,自动维护商品分类、规格、价格档案,实现多渠道货源统一数字化管理。

五、开发运维常见问题 FAQ

Q1:返回 error_code=2000,商品无数据怎么解决?

A:两种常见情况:商品 ID 输入错误;商品已下架、平台屏蔽对外数据。核对链接内数字 ID,更换在售商品重试即可。

Q2:domain_type 参数填写错误会有什么影响?

A:站点标识不匹配会返回参数错误 4003,工业、医药、全球购商品必须对应填写专属 domain_type,不能统一填 jd。

Q3:频繁报 4008 并发超限如何优化?

A:延长代码中 time.sleep 休眠间隔,拆分大批量 ID 为多组,分不同时段执行采集任务,降低瞬时请求频率。

Q4:图片链接打开失效怎么办?

A:接口返回的图片为相对路径,代码清洗阶段已经自动拼接 https 协议前缀;如果依旧打不开,大概率是商品下架图片被平台清理。

Q5:能否实现定时自动批量采集?

A:可以,搭配 Windows 计划任务、Linux crontab 定时运行脚本,或在代码外层增加循环、定时休眠逻辑,实现每日无人值守监控采集。

六、方案总结

相比传统爬虫,标准化商品详情接口搭配多 AI Agent 架构,最大优势是低维护、全自动化、多站点兼容,不用持续适配页面改版规则,异常场景全部内置自愈逻辑。

整套轻量化方案既能满足个人小批量选品需求,也能二次拓展对接企业级数据分析、货源管理系统。在此基础上还可继续拓展能力:批量采集商品评论、对接大模型做商品卖点自动提炼、多平台同款比价聚合,完整搭建一站式京东货源智能分析体系。

http://www.jsqmd.com/news/1106765/

相关文章:

  • 线上与测试环境excel导出列不同
  • SwapU项目数据库设计文档
  • 第一章Netty,Selector处理可写事件
  • 若依框架整合SM2国密算法:前后端登录加密改造实战
  • 宠物类型小程序积分社区系统模板分享
  • 番茄小说下载器完整指南:构建个人数字图书馆的终极方案
  • 婚内财产协议公证需要什么材料?婚内财产协议公证多久出证?
  • LangGraph 工作流:工程实践里的常见坑
  • AI大模型就业:把学习路线变成作品集
  • CNC件检测还在靠三坐标抽检?嘉腾自动影像仪让批量全检成为现
  • 加拿大UPS折扣快递注册打Label流程
  • Chroma:AI 应用的向量数据库,四行代码搞定语义搜索
  • 2026 年国内主流 AI 工具深度用户指南
  • ROS2 Jazzy 动作通信 (Action) 完整实战教程(C+++Python 双实现)
  • 如何用3分钟为Chrome添加免费视频下载能力:VideoDownloadHelper完全指南
  • 基于DPU的高性能键值存储系统DPA-Store设计与优化
  • 深入学习Redis(1):Redis内存模型
  • 【微服务学习笔记】分布式锁与线程锁的理解和使用
  • BetterNCM安装器完整指南:3分钟为网易云音乐安装插件管理器
  • Three.js 模糊反射(drei转原生)教程
  • LangGraph实战:构建有状态AI工作流引擎
  • 移动端AI落地实战:从模型部署到商业验证的完整链路
  • logback实战详解fileNamePattern配置问题%d多级日期文件夹
  • Dify接入高德地图MCP服务详细配置教程
  • 当反射内存环网中出现“Own Data”指示灯不亮的情况,可能的原因和排查步骤
  • 记一次内存溢出的分析经历
  • 耶鲁牛津剑桥等全球EMBA精英集聚复旦,拓数派董事长冯雷全英文授课“用Ontology实现零代码构建智能体”
  • 洗牙并非简单清洁:规范洁牙科普指南
  • Gemini AI工具全家桶深度应用指南
  • Java毕业设计-基于 SpringBoot 的线上手办周边商城系统的设计与实现 基于 SpringBoot 的动漫手办周边电商管理系统(源码+LW+部署文档+全bao+远程调试+代码讲解等)