做京东关键字搜索系统 3 年,被接口坑到凌晨改代码的实战手记

简介: 竞品监控中误传`sort="sales"`致数据全错,原以为按销量排序,实则京东接口需用`sales_desc`。更坑的是接口限流极严,免费版仅5次/分钟,超限即封IP 24小时。大促前因频繁请求被封,被迫自研滑动窗口+指数退避限流算法应对,才避免再踩坑。

排序陷阱:乱传sort参数,搜索结果全反了

做竞品监控时,老板要求 “按销量降序排序,抓 top30 的竞品”,我随手传了sort="sales",结果返回的全是销量最低的商品,导致监控数据完全失效,错过了大促前的竞品调价预警。

查了半天才知道,京东关键字接口的sort参数有严格取值,销量降序是sales_desc,升序是sales_asc,传sales会默认按 “综合排序”(不是销量) ,文档里只列了部分取值,很多排序字段要靠自己试。

[免费测试////]

```Result Object:

{
"items": {
"page": "1",
"url": "https://search.jd.com/Search?keyword=%E5%8D%8E%E4%B8%BAmatebook14",
"keyword": "华为matebook14",
"real_total_results": "2994",
"total_results": "2994",
"page_size": 32,
"pagecount": "100",
"_ddf": "fqx",
"item": [
{
"title": "华为MateBook 14 Linux版",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/382678/33/10256/43516/69554e51Fd7ab6750/85328b6bcf88c700.jpg",
"price": "6499.00",
"sales": 40000,
"num_iid": "100229437226",
"seller": "华为京东自营旗舰店",
"shop_id": "1000004259",
"detail_url": "https://item.jd.com/100229437226.html",
"reviews": 20000
},
{
"title": "华为MateBook 14 Linux版",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/380343/19/17924/43852/69554e1eF76379c58/46edb69ed8759a78.jpg",
"price": "5799.00",
"sales": 40000,
"num_iid": "100176738425",
"seller": "华为京东自营旗舰店",
"shop_id": "1000004259",
"detail_url": "https://item.jd.com/100176738425.html",
"reviews": 20000
},
{
"title": "华为MateBook GT 14 Linux版",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/379501/27/17861/48692/69554e4aF02cf1284/4b5d85c3b5a45a86.jpg",
"price": "7499.00",
"sales": 5000,
"num_iid": "100229437208",
"seller": "华为京东自营旗舰店",
"shop_id": "1000004259",
"detail_url": "https://item.jd.com/100229437208.html",
"reviews": 2000
},
{
"title": "华为MateBook 14 Linux版",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/384245/38/4175/46631/69554e5cF299055d6/3014c5e05e4147af.jpg",
"price": "6499.00",
"sales": 40000,
"num_iid": "100229437250",
"seller": "华为京东自营旗舰店",
"shop_id": "1000004259",
"detail_url": "https://item.jd.com/100229437250.html",
"reviews": 20000
},
{
"title": "华为MateBook 14 店铺预装Windows版 轻薄笔记本电脑 2.8K OLED触控屏 酷睿UItra5 16G 1T 深空灰",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/380602/36/18361/43917/69554e26F8ee4bc2d/81c405e963e64232.jpg",
"price": "5799",
"sales": 40000,
"num_iid": "100176738429",
"seller": "华为京东自营旗舰店",
"shop_id": "1000004259",
"detail_url": "https://item.jd.com/100176738429.html",
"reviews": 20000
},
{
"title": "华为MateBook GT 14 Linux版",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/384672/36/3457/48692/69554e56F4d3ef5b7/6ddf97c863de8af7.jpg",
"price": "7499.00",
"sales": 5000,
"num_iid": "100229437244",
"seller": "华为京东自营旗舰店",
"shop_id": "1000004259",
"detail_url": "https://item.jd.com/100229437244.html",
"reviews": 2000
},
{
"title": "华为MateBook 14 Linux版",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/384721/16/2968/47723/69554e21Fffe4ed2a/30acc2a287ac5c1e.jpg",
"price": "5799.00",
"sales": 40000,
"num_iid": "100176738427",
"seller": "华为京东自营旗舰店",
"shop_id": "1000004259",
"detail_url": "https://item.jd.com/100176738427.html",
"reviews": 20000
},
{
"title": "华为MateBook 14 Linux版",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/377430/27/18977/43721/69554e54F61444d68/1ad3cd0bca535525.jpg",
"price": "6499.00",
"sales": 40000,
"num_iid": "100229437230",
"seller": "华为京东自营旗舰店",
"shop_id": "1000004259",
"detail_url": "https://item.jd.com/100229437230.html",
"reviews": 20000
},
{
"title": "华为matebook14轻薄笔记本电脑",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/296569/14/7110/41415/68244a20F0df9402f/7e4a9d04d587cf46.png",
"price": "2689.00",
"sales": 10000,
"num_iid": "10139617789126",
"seller": "Ultrabook商务本小店",
"shop_id": "17195504",
"detail_url": "https://item.jd.com/10139617789126.html",
"reviews": 5000
},
{
"title": "Hi MateBook 14 酷睿Ultra 2",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/382431/16/10152/45275/6954e434Ff4575b70/4c63275976630e6f.jpg",
"price": "6299.00",
"sales": 2000,
"num_iid": "100277883964",
"seller": "华为京东自营旗舰店",
"shop_id": "1000004259",
"detail_url": "https://item.jd.com/100277883964.html",
"reviews": 2000
},
{
"title": "华为MateBook GT 14 Linux版",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/377205/24/20233/48759/69554e1bF9735c17f/9557d674eb890b21.jpg",
"price": "6999.00",
"sales": 5000,
"num_iid": "100176738411",
"seller": "华为京东自营旗舰店",
"shop_id": "1000004259",
"detail_url": "https://item.jd.com/100176738411.html",
"reviews": 2000
},
{
"title": "华为MateBook GT 14 Linux版",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/381779/26/11326/48759/69554e4fFbc264e00/f811547142b23080.jpg",
"price": "6999.00",
"sales": 5000,
"num_iid": "100229437224",
"seller": "华为京东自营旗舰店",
"shop_id": "1000004259",
"detail_url": "https://item.jd.com/100229437224.html",
"reviews": 2000
},
{
"title": "华为MateBook 14 Ultra AI全能本",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/378535/9/20847/115120/6954c7daF8a019f97/430b9808714a86f6.jpg",
"price": "5799.00",
"sales": 40000,
"num_iid": "10103759260834",
"seller": "华为小酷克专卖店",
"shop_id": "12049068",
"detail_url": "https://item.jd.com/10103759260834.html",
"reviews": 20000
},
{
"title": "【政府补贴】华为笔记本电脑",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/384509/7/6173/99564/6958e910F02ffdd79/00227e8159b038bc.jpg",
"price": "5799.00",
"sales": 10000,
"num_iid": "65512219101",
"seller": "华为比特专卖店",
"shop_id": "796063",
"detail_url": "https://item.jd.com/65512219101.html",
"reviews": 10000
},
{
"title": "政府补贴 华为MateBook14 25款",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/378978/4/9950/91039/694a31faF08e72a6c/9c99e58136feffa4.jpg",
"price": "5999.00",
"sales": 3000,
"num_iid": "10075922710113",
"seller": "京东电竞官方旗舰店",
"shop_id": "10393769",
"detail_url": "https://item.jd.com/10075922710113.html",
"reviews": 2000
},
{
"title": "Hi MateBook 14 锐龙 200系列",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/380626/30/16638/48591/6954e438F455b4505/c7b9b910c1cc49bd.jpg",
"price": "6199.00",
"sales": 2000,
"num_iid": "100289708048",
"seller": "华为京东自营旗舰店",
"shop_id": "1000004259",
"detail_url": "https://item.jd.com/100289708048.html",
"reviews": 2000
},
{
"title": "华为笔记本电脑",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/375281/23/21236/94747/694e48b5F1930f224/087e605c5356829f.jpg",
"price": "6499.00",
"sales": 10000,
"num_iid": "10103194548646",
"seller": "华为比特专卖店",
"shop_id": "796063",
"detail_url": "https://item.jd.com/10103194548646.html",
"reviews": 10000
},
{
"title": "华为MateBook 14 Ultra AI全能本",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/381261/37/12748/112430/6954c7d8F0e6f576e/83cb8a96a5139cc6.jpg",
"price": "5799.00",
"sales": 40000,
"num_iid": "10103759260835",
"seller": "华为小酷克专卖店",
"shop_id": "12049068",
"detail_url": "https://item.jd.com/10103759260835.html",
"reviews": 20000
},
{
"title": "Hi MateBook 14 酷睿Ultra 2代",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/378063/4/18281/45205/6954e437F5e2d8f28/10b43b6dc68b4fd4.jpg",
"price": "7499.00",
"sales": 2000,
"num_iid": "100277887866",
"seller": "华为京东自营旗舰店",
"shop_id": "1000004259",
"detail_url": "https://item.jd.com/100277887866.html",
"reviews": 2000
},
{
"title": "华为matebook14轻薄笔记本电脑",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/296569/14/7110/41415/68244a20F0df9402f/7e4a9d04d587cf46.png",
"price": "2789.00",
"sales": 10000,
"num_iid": "10139617789129",
"seller": "Ultrabook商务本小店",
"shop_id": "17195504",
"detail_url": "https://item.jd.com/10139617789129.html",
"reviews": 5000
},
{
"title": "Hi MateBook 14 锐龙 200系列",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/382637/30/11665/42362/6954e402F82639ff1/7a46da2ba3505da1.jpg",
"price": "6199.00",
"sales": 2000,
"num_iid": "100217084277",
"seller": "华为京东自营旗舰店",
"shop_id": "1000004259",
"detail_url": "https://item.jd.com/100217084277.html",
"reviews": 2000
},
{
"title": "【政府补贴】华为笔记本电脑",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/381522/8/14619/98748/6958e91fFabf2426c/7095b2f69d974b59.jpg",
"price": "5799.00",
"sales": 10000,
"num_iid": "10103194548644",
"seller": "华为比特专卖店",
"shop_id": "796063",
"detail_url": "https://item.jd.com/10103194548644.html",
"reviews": 10000
},
{
"title": "【政府补贴】华为笔记本电脑",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/381501/24/8495/95723/694e48beFe6ebe815/7cacb7c606c03756.jpg",
"price": "6499.00",
"sales": 10000,
"num_iid": "10103194548647",
"seller": "华为比特专卖店",
"shop_id": "796063",
"detail_url": "https://item.jd.com/10103194548647.html",
"reviews": 10000
},
{
"title": "【政府补贴】华为笔记本电脑",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/375103/13/18146/94070/694e48abFdfa23d07/7e6e714fc81b787f.jpg",
"price": "6499.00",
"sales": 10000,
"num_iid": "10103194548645",
"seller": "华为比特专卖店",
"shop_id": "796063",
"detail_url": "https://item.jd.com/10103194548645.html",
"reviews": 10000
},
{
"title": "华为MateBook 14 Ultra AI全能本",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/385391/31/251/116863/6954c7ddF74750c83/75530f29221a732c.jpg",
"price": "5799.00",
"sales": 40000,
"num_iid": "10103759260841",
"seller": "华为小酷克专卖店",
"shop_id": "12049068",
"detail_url": "https://item.jd.com/10103759260841.html",
"reviews": 20000
},
{
"title": "政府补贴 华为MateBook14 25款",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/376512/36/19426/90309/694a31f1F50582c3b/a4a28e7b896fae5f.jpg",
"price": "5999.00",
"sales": 3000,
"num_iid": "10075922710112",
"seller": "京东电竞官方旗舰店",
"shop_id": "10393769",
"detail_url": "https://item.jd.com/10075922710112.html",
"reviews": 2000
},
{
"title": "【政府补贴】华为笔记本电脑",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/381291/10/14780/100177/6958e918F29f7e25c/8e1f998da1bf6036.jpg",
"price": "5799.00",
"sales": 10000,
"num_iid": "10109249341545",
"seller": "华为比特专卖店",
"shop_id": "796063",
"detail_url": "https://item.jd.com/10109249341545.html",
"reviews": 10000
},
{
"title": "华为MateBook14 25款国家补贴20%",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/379579/14/19701/78352/6955e0d3Fe77a6c40/6f5627ab5aba295c.jpg",
"price": "6499.00",
"sales": 3000,
"num_iid": "10090623469751",
"seller": "京东电竞官方旗舰店",
"shop_id": "10393769",
"detail_url": "https://item.jd.com/10090623469751.html",
"reviews": 2000
},
{
"title": "Hi MateBook 14 锐龙 200系列",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/380104/39/14588/43957/6954e404F3e20fa28/1684167c0423b2bb.jpg",
"price": "6099.00",
"sales": 2000,
"num_iid": "100217084279",
"seller": "华为京东自营旗舰店",
"shop_id": "1000004259",
"detail_url": "https://item.jd.com/100217084279.html",
"reviews": 2000
},
{
"title": "华为matebook14轻薄笔记本电脑",
"pic_url": "https://img12.360buyimg.com/n2/s345x345_jfs/t1/295718/40/10820/34240/684fdc72F64661a9e/48547ee486c009e2.png",
"price": "2389.00",
"sales": 10000,
"num_iid": "10139617789123",
"seller": "Ultrabook商务本小店",
"shop_id": "17195504",
"detail_url": "https://item.jd.com/10139617789123.html",
"reviews": 5000
}
]
},
"error_code": "0000",
"reason": "ok",
"secache": "b4f7b872ac8d3641d8acd4486d687696",






## 限流暴击:5 次请求就被封,大促前断了竞品监控

京东关键字接口的限流规则,是我见过最严格的 ——**免费开发者仅 5 次 / 分钟请求限额**,比评论接口(10 次 / 分钟)还严,超过后不仅返回`429 Too Many Requests`,还会直接封禁 IP 24 小时,连沙箱环境都不例外。

有次 618 大促前,我帮老板监控 10 个竞品 SKU 的价格,每 10 分钟搜索一次,1 小时内发了 6 次请求,结果 IP 被封,竞品监控直接中断。老板追责时,我才意识到限流的严重性 —— 免费版完全撑不起批量搜索,而企业版要 5000 元 / 月,短期内只能靠限流算法硬扛。

我用 “滑动窗口 + 指数退避” 写了限流类,严格控制请求频率,还加了失败重试(接口偶尔因网络延迟返回 504),从此再也没被封过:

python

运行

import time
from collections import deque

class JD SearchLimiter:
def init(self, max_calls=5, period=60):
"""京东关键字接口限流:max_calls次/period秒(免费版5次/分钟)"""
self.max_calls = max_calls
self.period = period
self.call_timestamps = deque() # 存储每次请求的时间戳

def can_call(self):
    """判断是否可发起请求,可调用则记录时间戳"""
    now = time.time()
    # 移除周期外的请求记录
    while self.call_timestamps and now - self.call_timestamps[0] > self.period:
        self.call_timestamps.popleft()
    if len(self.call_timestamps) < self.max_calls:
        self.call_timestamps.append(now)
        return True
    return False

def wait_for_call(self, retry=3):
    """等待到可请求状态,失败重试3次"""
    wait_time = 0
    for _ in range(retry):
        if self.can_call():
            return True, wait_time
        # 指数退避等待(1s→2s→4s),避免频繁重试触发封禁
        wait_time = (2 ** _) + 0.1
        time.sleep(wait_time)
    return False, wait_time

示例:批量监控10个竞品的搜索结果

limiter = JD SearchLimiter(max_calls=5)
keywords = ["无线蓝牙耳机", "机械键盘", "游戏鼠标"] # 要监控的关键字

for keyword in keywords:
can_call, wait_time = limiter.wait_for_call()
if not can_call:
print(f"请求频繁,{keyword}监控失败,建议升级企业版")
continue
if wait_time > 0:
print(f"触发限流,等待{wait_time:.1f}秒后搜索:{keyword}")

# 发起搜索请求(省略具体逻辑)
print(f"正在搜索关键字:{keyword},获取竞品数据...")
time.sleep(1)  # 模拟请求耗时

```

相关文章
|
7月前
|
人工智能 搜索推荐 前端开发
AI英语学习APP的开发
2026年AI英语学习APP将聚焦实时交互、情感共鸣与超个性化路径。融合多模态口语助教、自适应学习与沉浸式写作优化,结合GPT-4o、Whisper、ElevenLabs等前沿技术,打造有温度的AI外教。通过数字人、离线模式与游戏化设计,实现高效、沉浸、可落地的语言学习新体验。(238字)
|
7月前
|
存储 人工智能 前端开发
Web3 系统开发的方案
Web3开发迈向实用化,构建涵盖DID、L2/L3与AI的复杂生态。基于五层架构,融合高性能链、去中心化存储、预言机与AI代理,聚焦RWA与DePIN落地,强调安全审计、Gas优化与去中心化治理,推动区块链真实价值释放。#区块链开发 #web3开发
|
8月前
阿里云产品十二月刊来啦
全新万相2.6系列模型正式发布,通义百聆语音交互模型开源,PAI 模型评测新支持双模型离线竞技功能|产品十二月刊
531 167
阿里云产品十二月刊来啦
|
7月前
|
监控 API 开发者
关键词搜索京东商品列表 API 指南(2026 最新版)
本文详解京东商品搜索API(jd.item_search与jd.item_get)的技术接入,涵盖接口对比、参数配置、认证流程及Python实现,适用于电商选品、竞品分析与价格监控,助力开发者高效获取京东商品数据。
1138 4
|
12月前
|
API Python 数据格式
深度分析京东API接口,用Python脚本实现
深度分析京东API接口,用Python脚本实现
|
9月前
|
缓存 API 开发工具
淘宝客商品列表 API 接口对接全攻略:从入门到精通
淘宝客API是阿里官方商品推广接口,支持按关键词、佣金等筛选商品数据,广泛用于返利网站、直播选品等场景。本文详解其对接流程、权限申请、签名机制与最佳实践,助开发者高效合规获取数据。
|
8月前
|
供应链 安全 API
淘宝、京东、拼多多API大比拼,谁才是电商运营的最佳拍档?
本文深度对比淘宝、京东、拼多多三大电商平台API,从接口丰富度、性能稳定性、开发友好度、安全认证及商业成本五大维度分析,助您根据业务需求精准选择高效“技术拍档”,提升电商运营效率。
1136 2
|
8月前
|
监控 算法 API
​​​​​​​ 用京东API优化搜索排名,让你的商品排在搜索页前列!
本文介绍如何利用京东开放平台API,通过监控商品搜索排名、分析竞品数据、优化商品信息与参与营销活动,实现搜索流量精准提升。结合技术调用与运营策略,助力商家在激烈竞争中抢占先机,实现精细化运营。(238字)
|
搜索推荐 API 开发者
京东商品列表API响应数据解析
京东商品列表API是京东开放平台的核心接口,支持开发者批量获取商品数据,适用于市场调研、竞品分析、推荐系统等场景。接口支持关键词搜索、分类筛选、价格区间等参数配置,返回商品名称、价格、销量、库存等信息,并具备高并发、实时更新等特性。
|
12月前
|
JSON 数据挖掘 API
淘宝详情API接口与高级详情API接口用json返回数据区别
淘宝“商品详情API”与“高级商品API”主要区别在于数据深度、字段丰富度及适用场景。前者适用于轻量级导购展示,后者支持详情页展示与深度分析,需根据业务需求选择使用。

热门文章

最新文章