京东关键词搜索接口获取商品数据的实操指南

京东关键词搜索接口获取商品数据 实操指南

本指南聚焦京东开放平台合规接口item_search基础版 /item_search_pro增强版),提供从账号准备→接口调用→数据解析→落地应用的全流程实操步骤,确保新手也能快速完成商品数据获取,适配电商选品、竞品分析、运营监控等核心场景。

一、 实操前置:合规准备与核心凭证获取

京东关键词接口属于官方开放接口,需完成开发者认证与权限申请,严禁未经授权的爬虫抓取,否则会面临 IP 封禁、法律风险。

1. 账号与权限准备(3 步完成)

步骤操作内容详细指引
1注册京东开放平台开发者账号访问 京东开放平台官网 → 点击 “开发者注册” → 选择个人 / 企业身份完成实名认证(企业需提供营业执照,个人需提供身份证)
2创建应用并申请接口权限登录后进入 “应用管理” → 点击 “创建应用” → 填写应用名称、用途(如 “商品数据采集与选品分析”) → 提交审核 → 审核通过后,在 “权限管理” 中申请「商品搜索接口」(基础版item_search或增强版item_search_pro
3获取核心调用凭证应用审核通过后,在 “应用详情” 页查看并保存AppKey(应用唯一标识)、AppSecret(密钥)→ 这两个参数是接口调用的核心,需妥善保管,避免泄露

注意:item_search_pro属于高级接口,需单独申请权限,审核周期比基础版长 1-2 个工作日。

2. 工具准备

  • 开发环境:Python/Java/PHP(推荐 Python,代码简洁易上手)
  • 依赖工具:Python 需安装requests库(pip install requests)、Java 需安装HttpClient、PHP 需开启curl扩展
  • 辅助工具:Postman(接口调试)、Excel/MySQL(数据存储)

二、 核心配置:接口参数与签名算法(必掌握)

京东 API 采用“参数 + 签名”验证机制,签名错误是调用失败的最常见原因,需严格按以下步骤配置。

1. 接口参数分类(公共参数 + 业务参数)

(1) 公共参数(所有接口通用,必填)
参数名取值要求示例值
app_key应用详情页获取的AppKey1234567890
method接口名称,基础版填jd.union.open.goods.search;增强版填jd.union.open.goods.search.projd.union.open.goods.search
format响应格式,固定为jsonjson
v接口版本,基础版用3.0;增强版用4.03.0
timestamp请求时间戳,格式yyyy-MM-dd HH:mm:ss(需与京东服务器时间一致,误差≤5 分钟)2026-01-08 10:30:00
sign签名值,通过 HMAC-SHA256 算法生成(下文详细说明)8F7A6B5C4D3E2F1A9087654321ABCDEF
(2) 业务参数(关键词搜索核心参数)
参数名必填取值说明示例值
keyword搜索关键词,支持多词组合(空格分隔)无线蓝牙耳机 主动降噪
page页码,默认 1,基础版最大 50 页;增强版最大 100 页1
page_size每页条数,默认 30,基础版最大 50;增强版最大 10050
sort_type排序方式:price_asc(低价)、sales_desc(销量)、real_sales_desc(增强版实时销量)sales_desc
price_from/price_to价格区间筛选(增强版专属)100/300

2. 签名算法实操(3 步生成,以 Python 为例)

签名是京东 API 的核心验证环节,步骤如下:

  1. 参数排序:将所有公共参数 + 业务参数,按参数名 ASCII 码升序排列(如app_keyformatkeywordmethod...)
  2. 拼接字符串:按key=value&key=value格式拼接排序后的参数(不进行 URL 编码
  3. HMAC-SHA256 加密:用AppSecret作为密钥,对拼接字符串进行加密,结果转大写即为sign

python

运行

# 签名生成示例代码(直接复用) import hashlib import hmac def generate_sign(params, app_secret): # 步骤1:按参数名ASCII升序排序 sorted_params = sorted(params.items(), key=lambda x: x[0]) # 步骤2:拼接字符串 sign_str = "&".join([f"{k}={v}" for k, v in sorted_params]) # 步骤3:HMAC-SHA256加密并转大写 sign = hmac.new( app_secret.encode("utf-8"), sign_str.encode("utf-8"), hashlib.sha256 ).hexdigest().upper() return sign

三、 实战调用:Python 代码实现(基础版 / 增强版通用)

以下代码为可直接运行版本,只需替换APP_KEYAPP_SECRET即可完成调用,包含「接口请求 + 数据解析 + 结果输出」全流程。

1. 完整代码(基础版item_search

python

运行

import requests import hashlib import hmac import time # ------------------- 配置区(替换为你的凭证) ------------------- APP_KEY = "你的AppKey" APP_SECRET = "你的AppSecret" API_URL = "https://api.jd.com/routerjson" # 京东API网关地址 # ------------------- 签名生成函数 ------------------- def generate_sign(params, app_secret): sorted_params = sorted(params.items(), key=lambda x: x[0]) sign_str = "&".join([f"{k}={v}" for k, v in sorted_params]) sign = hmac.new( app_secret.encode("utf-8"), sign_str.encode("utf-8"), hashlib.sha256 ).hexdigest().upper() return sign # ------------------- 接口调用函数 ------------------- def jd_item_search(keyword, page=1, page_size=30, sort_type="sales_desc"): # 1. 组装参数(公共参数+业务参数) params = { "app_key": APP_KEY, "method": "jd.union.open.goods.search", # 基础版接口名 "format": "json", "v": "3.0", "timestamp": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), "keyword": keyword, "page": str(page), "page_size": str(page_size), "sort_type": sort_type } # 2. 生成签名并加入参数 params["sign"] = generate_sign(params, APP_SECRET) # 3. 发送请求 try: response = requests.get(API_URL, params=params, timeout=10) response.raise_for_status() # 抛出HTTP异常 return response.json() except Exception as e: print(f"接口调用失败:{str(e)}") return None # ------------------- 数据解析函数 ------------------- def parse_goods_data(result): """提取商品核心字段:ID、标题、价格、销量、库存""" goods_list = [] if not result: return goods_list # 解析返回结果(按京东API格式) data = result.get("jd_union_open_goods_search_response", {}) \ .get("result", {}) \ .get("data", []) for goods in data: goods_info = { "sku_id": goods.get("skuId", ""), # 商品唯一ID "title": goods.get("goodsName", ""), # 商品标题 "price": goods.get("price", 0.0), # 现价 "original_price": goods.get("originalPrice", 0.0), # 原价 "sales": goods.get("salesCount", 0), # 累计销量 "stock": goods.get("stock", 0), # 库存 "shop_name": goods.get("shopName", "") # 店铺名称 } goods_list.append(goods_info) return goods_list # ------------------- 主函数调用 ------------------- if __name__ == "__main__": # 搜索关键词:无线蓝牙耳机 主动降噪,按销量排序 result = jd_item_search( keyword="无线蓝牙耳机 主动降噪", page=1, page_size=50, sort_type="sales_desc" ) # 解析数据 goods_data = parse_goods_data(result) # 输出结果 print(f"共获取 {len(goods_data)} 条商品数据\n") for idx, goods in enumerate(goods_data[:5]): # 打印前5条 print(f"【{idx+1}】") print(f"商品ID:{goods['sku_id']}") print(f"标题:{goods['title']}") print(f"价格:{goods['price']}元(原价:{goods['original_price']}元)") print(f"销量:{goods['sales']} 库存:{goods['stock']}") print(f"店铺:{goods['shop_name']}\n")

2. 增强版item_search_pro适配修改

只需修改两处即可切换到增强版:

  1. 接口名改为method": "jd.union.open.goods.search.pro
  2. 接口版本改为v": "4.0
  3. 可选添加增强版参数(如price_fromprice_tobrand_id

四、 数据落地:清洗、存储与应用

调用接口获取数据后,需进行数据清洗→存储→业务应用,才能转化为运营价值。

1. 数据清洗(解决 3 个常见问题)

  • 去重:以sku_id为唯一标识,剔除重复商品(分页调用易出现重复)
  • 过滤无效数据:删除stock=0(无库存)、price=0(价格异常)的商品
  • 字段标准化:统一价格格式(保留 2 位小数)、截取过长标题(避免存储溢出)

python

运行

# 数据清洗示例代码 def clean_goods_data(goods_list): cleaned = [] sku_ids = set() # 用于去重 for goods in goods_list: sku = goods["sku_id"] if sku in sku_ids or goods["stock"] <= 0 or goods["price"] <= 0: continue # 价格标准化 goods["price"] = round(float(goods["price"]), 2) goods["original_price"] = round(float(goods["original_price"]), 2) # 标题截取(前50字) goods["title"] = goods["title"][:50] + "..." if len(goods["title"]) > 50 else goods["title"] sku_ids.add(sku) cleaned.append(goods) return cleaned

2. 数据存储(2 种常用方式)

存储方式适用场景操作代码示例
Excel小批量数据、选品清单导出使用pandas库:import pandas as pd; pd.DataFrame(cleaned_data).to_excel("京东商品数据.xlsx", index=False)
MySQL大批量数据、长期监控使用pymysql库,创建数据表后批量插入(参考前文item_search_pro代码中的save_to_db函数)

3. 业务应用(3 个核心场景)

  • 选品分析:筛选sales>5000price在目标区间的商品,统计热销规格
  • 竞品监控:定期调用接口,对比竞品价格、销量变化,触发调价 / 补货预警
  • 库存管理:监控爆款商品库存,当stock<100时发送邮件 / 短信提醒

五、 常见问题与排障指南(避坑必备)

问题现象原因分析解决方案
签名错误(sign invalid)1. 参数未按 ASCII 升序排序;2. AppSecret 错误;3. timestamp 格式错误1. 检查参数排序逻辑;2. 核对 AppSecret 是否与应用一致;3. 确保时间格式为yyyy-MM-dd HH:mm:ss
权限不足(403 Forbidden)未申请对应接口权限,或应用审核未通过登录开放平台,在 “权限管理” 中确认已申请item_search/item_search_pro权限
数据返回为空1. 关键词无匹配商品;2. 页码超过最大限制;3. 筛选条件过严1. 优化关键词(更宽泛);2. 检查页码是否≤50(基础版)/100(增强版);3. 放宽价格、品牌等筛选条件
调用频率超限(429 Too Many Requests)超过平台 QPS 限制(通常基础版 10QPS,增强版 20QPS)1. 调用后添加延迟(time.sleep(1));2. 申请提高 QPS;3. 缓存重复搜索结果

六、 合规与风险提示

  1. 仅使用官方开放接口:严禁爬取京东官网(jd.com)数据,仅可调用京东开放平台 / 京东联盟 API
  2. 数据使用边界:采集的数据仅用于自身运营分析,不得转售、泄露或用于商业竞争
  3. 凭证安全AppKeyAppSecret避免上传至代码仓库(如 GitHub),可通过环境变量注入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1124174.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MGeo在保险理赔中的应用:事故地点真实性核验

MGeo在保险理赔中的应用&#xff1a;事故地点真实性核验 引言&#xff1a;保险理赔中的地址核验痛点 在车险、健康险等理赔场景中&#xff0c;事故或事件发生地的真实性核验是风控环节的关键一环。传统人工审核依赖报案人填写的地址信息&#xff0c;存在伪造、模糊描述、同音异…

前端页面联动:Vue+FastAPI展示识别结果

前端页面联动&#xff1a;VueFastAPI展示识别结果 万物识别-中文-通用领域&#xff1a;技术背景与应用价值 在当前AI驱动的智能应用浪潮中&#xff0c;图像识别已从实验室走向千行百业。尤其在中文语境下的通用物体识别场景中&#xff0c;用户期望系统不仅能“看见”图像内容&a…

科研党福音:Hunyuan-MT-7B开源测试集Flores200表现领先

科研党福音&#xff1a;Hunyuan-MT-7B开源测试集Flores200表现领先 在多语言信息爆炸的今天&#xff0c;科研人员常常面临一个现实困境&#xff1a;一篇发表于非洲某国会议录中的小语种论文&#xff0c;可能藏着关键的研究线索&#xff0c;但翻译工具要么不支持该语言&#xf…

皮影戏表演流程说明:Hunyuan-MT-7B记录非遗传承过程

皮影戏表演流程说明&#xff1a;Hunyuan-MT-7B记录非遗传承过程 在陕西华县的一个小院里&#xff0c;年过七旬的皮影戏老艺人正用关中方言吟唱《三打白骨精》的唱段。录音笔静静记录着每一句腔调、每一个顿挫——这些声音承载的不仅是艺术&#xff0c;更是一个民族的记忆。然而…

三大趋势,看懂2026 AI基础能力变革—《2026年中国AI产业发展十大趋势》基础能力篇

易观分析发布《2026年AI产业发展十大趋势》报告&#xff0c;分为基础能力篇&#xff0c;应用场景篇以及企业AI战略篇。趋势一&#xff1a;AI技术范式从“模型中心”转向“系统智能”AI发展是 “远景虽遥&#xff0c;近功斐然” 。一方面持续积极投入基础研究&#xff0c;探索通…

别再烧钱做AI!大模型微调GPU终极指南:从入门到放弃?

微调7b模型至少要什么显卡&#xff1f; 算力低一些的总感觉比不过别人… 有没有一种可能&#xff0c;让我普通老百姓也用用H卡&#xff1f;以上问题是否曾是干扰大家做出选品决策的苦楚&#xff1f;别急&#xff0c;本文将从底层逻辑到实战方案&#xff0c;帮你彻底理清选卡思路…

企业级数据治理:MGeo实现千万级地址库高效去重与合并

企业级数据治理&#xff1a;MGeo实现千万级地址库高效去重与合并 在现代企业数据治理中&#xff0c;地址数据的准确性与一致性直接影响客户画像、物流调度、风控建模等核心业务。然而&#xff0c;中文地址天然存在表述多样、缩写习惯差异、层级模糊等问题——例如“北京市朝阳…

AI绘画工作流优化:自动识别+生成联动方案

AI绘画工作流优化&#xff1a;自动识别生成联动方案实战指南 作为概念设计师&#xff0c;你是否经常遇到这样的困扰&#xff1a;用Stable Diffusion批量生成草图后&#xff0c;需要手动筛选符合需求的图片&#xff0c;耗时又费力&#xff1f;本文将介绍如何通过自动识别工具与S…

MGeo能否运行JavaScript?不涉及前端脚本仅限Python环境

MGeo能否运行JavaScript&#xff1f;不涉及前端脚本仅限Python环境 技术背景与核心问题 在当前大模型快速发展的背景下&#xff0c;阿里开源的 MGeo 模型因其专注于中文地址相似度匹配与实体对齐任务&#xff0c;在地理信息、物流配送、城市治理等场景中展现出强大的实用价值。…

Notion插件构想:知识库图像自动打标功能

Notion插件构想&#xff1a;知识库图像自动打标功能 引言&#xff1a;让知识库中的图片“会说话” 在日常使用Notion构建个人或团队知识库时&#xff0c;我们常常会插入大量截图、流程图、设计稿甚至手绘草图。然而&#xff0c;这些图像内容目前仅作为静态资源存在——它们无法…

中秋赏月诗词翻译:Hunyuan-MT-7B尝试意境还原

中秋赏月诗词翻译&#xff1a;Hunyuan-MT-7B尝试意境还原 在中秋月圆之夜&#xff0c;一句“明月几时有&#xff0c;把酒问青天”足以唤起跨越千年的共鸣。而当这轮明月照进人工智能时代&#xff0c;我们不禁要问&#xff1a;机器能否读懂这份诗意&#xff1f;又是否能将中文古…

科研数据复现:MGeo确保实验条件一致性的关键技术

科研数据复现&#xff1a;MGeo确保实验条件一致性的关键技术 在科研实验中&#xff0c;可复现性是衡量研究质量的核心标准之一。尤其是在涉及地理信息、地址匹配与实体对齐的场景下&#xff0c;微小的数据偏差或环境差异都可能导致结果显著偏离。近年来&#xff0c;随着城市计算…

LangChainV1.0[07]-RAG-检索增强生成

本节完成官方案例&#xff1a;Build a RAG agent with LangChain 文档路径&#xff1a; Learn->LangChain -> RAG agent , 文档地址&#xff1a;https://docs.langchain.com/oss/python/langchain/rag 。 主要完成两个功能&#xff1a; 索引&#xff1a;从网页获取知识…

开发者必看:如何在Conda环境中运行阿里万物识别代码

开发者必看&#xff1a;如何在Conna环境中运行阿里万物识别代码本文为开发者提供一份完整可执行的实践指南&#xff0c;详细讲解如何在 Conda 环境中部署并运行阿里开源的“万物识别-中文-通用领域”图像识别模型。涵盖环境激活、文件操作、路径配置与推理执行等关键步骤&#…

资深考官亲授:MCP模拟试题精准还原度达95%的备考法

第一章&#xff1a;MCP考试核心认知与备考策略什么是MCP认证 Microsoft Certified Professional&#xff08;MCP&#xff09;是微软推出的权威技术认证体系&#xff0c;旨在验证IT专业人员在微软技术平台上的实际能力。获得MCP认证意味着考生已掌握特定微软产品或服务的核心技能…

万物识别对抗训练:提升模型鲁棒性的快速方案

万物识别对抗训练&#xff1a;提升模型鲁棒性的快速方案 当安全团队发现公司的识别系统容易被对抗样本欺骗时&#xff0c;如何快速实施对抗训练提升模型鲁棒性&#xff1f;本文将介绍一种基于预置镜像的快速解决方案&#xff0c;帮助你在产品发布前加固识别系统。这类任务通常需…

Hunyuan-MT-7B-WEBUI实测:民汉互译准确率超90%?真实数据告诉你

Hunyuan-MT-7B-WEBUI实测&#xff1a;民汉互译准确率超90%&#xff1f;真实数据告诉你 在边疆地区的政务大厅里&#xff0c;一位工作人员正将一份长达十页的汉语政策文件粘贴进一个网页界面。不到两分钟&#xff0c;系统便输出了流畅的维吾尔语译文——这是过去需要翻译团队耗时…

【MCP零信任安全实战指南】:从架构设计到落地实施的9大核心步骤

第一章&#xff1a;MCP零信任安全的核心理念与演进在现代企业网络架构中&#xff0c;传统的边界防御模型已无法应对日益复杂的威胁环境。MCP&#xff08;Micro-Segmentation Control Plane&#xff09;零信任安全模型应运而生&#xff0c;其核心理念是“永不信任&#xff0c;始…

UltraISO注册码最新版找不到?先学会用AI翻译获取海外资源

用AI翻译打开全球技术资源的大门&#xff1a;本地化高质量机器翻译实践 在技术社区里&#xff0c;你是否也遇到过这样的场景&#xff1f;发现一个看起来非常不错的开源项目&#xff0c;点进GitHub仓库却发现文档全是英文&#xff1b;想查阅某个工具的部署指南&#xff0c;结果官…

MGeo优化技巧:通过批处理提升GPU利用率至90%以上

MGeo优化技巧&#xff1a;通过批处理提升GPU利用率至90%以上 在中文地址数据的实体对齐任务中&#xff0c;地址相似度匹配是关键环节。由于中文地址存在表述多样、缩写习惯差异、层级结构不一致等问题&#xff0c;传统字符串匹配方法&#xff08;如编辑距离、Jaccard&#xff…