news 2026/4/22 17:22:49

Java 实战:调用 item_search_tmall 按关键词搜索天猫商品

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java 实战:调用 item_search_tmall 按关键词搜索天猫商品

关键词:Java、天猫搜索、item_search_tmall、关键词、聚合 API


一、接口背景

淘宝/天猫官方并未对外公开「关键词搜索商品」接口。
目前 GitHub 与各大云市场上出现的item_search_tmall均属于第三方数据服务商(万邦、OneBound、凡邦等)基于「淘宝联盟+自营爬虫」二次封装的聚合 API,字段丰富、接入简单,适合「内部选品、价格监控、快速 MVP」等场景。

本文以万邦为例,给出完整 Java 调用示例,支持分页、排序、价格区间、仅天猫过滤。


二、接口速览

地址
方法GET
鉴权key + secret(平台颁发)
关键词q=xxx
分页page=1&page_size=20(最大 40)
排序sort=sale_desc(销量降序)、price_asc(价格升序)…
过滤filter=tmall(只返回天猫)
返回JSON;含 total、page、item[];单条含 num_iid、title、price、pic、sales、shop_type 等

三、Maven 依赖

<!-- HTTP --> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>4.12.0</version> </dependency> <!-- JSON --> <dependency> <groupId>com.alibaba.fastjson2</groupId> <artifactId>fastjson2</artifactId> <version>2.0.43</version> </dependency>

四、统一入参实体

@Data public class TmallSearchReq { private String key; private String secret; private String q; // 关键词 private int page = 1; private int pageSize = 20; // 最大 40 private String sort; // sale_desc | price_asc | price_desc private String filter; // tmall private String startPrice; private String endPrice; }

五、核心 Service(OkHttp + FastJSON)

public class TmallSearchService { private static final String API = "https://api-gw.onebound.cn/taobao/item_search_tmall"; public static JSONObject search(TmallSearchReq req) throws IOException { HttpUrl.Builder ub = HttpUrl.parse(API).newBuilder(); ub.addQueryParameter("key", req.getKey()); ub.addQueryParameter("secret", req.getSecret()); ub.addQueryParameter("q", req.getQ()); ub.addQueryParameter("page", String.valueOf(req.getPage())); ub.addQueryParameter("page_size", String.valueOf(req.getPageSize())); if (req.getSort() != null) ub.addQueryParameter("sort", req.getSort()); if (req.getFilter() != null) ub.addQueryParameter("filter", req.getFilter()); if (req.getStartPrice() != null) ub.addQueryParameter("start_price", req.getStartPrice()); if (req.getEndPrice() != null) ub.addQueryParameter("end_price", req.getEndPrice()); Request httpReq = new Request.Builder() .url(ub.build()) .get() .header("Accept-Encoding", "gzip") .build(); try (Response resp = new OkHttpClient().newCall(httpReq).execute()) { String json = resp.body().string(); JSONObject root = JSON.parseObject(json); if (!"200".equals(root.getString("code"))) { throw new RuntimeException("API 错误:" + root.getString("msg")); } return root.getJSONObject("items"); } } }

六、返回 JSON 示例(节选)

{ "code": 200, "items": { "page": "1", "page_size": 20, "total_results": 842, "item": [ { "num_iid": "723971306902", "title": "iPhone15 液态硅胶手机壳", "pic_url": "//g-search3.alicdn.com/img/imgextra/...jpg", "price": "28.8", "orginal_price": "88.0", "sales": 3200, "shop_type": "天猫", "detail_url": "https://detail.tmall.com/item.htm?id=723971306902" } // ... 19 more ] } }

字段说明见万邦文档。


七、Main 方法一键运行

public class Demo { public static void main(String[] args) throws Exception { TmallSearchReq req = new TmallSearchReq(); req.setKey("你的key"); req.setSecret("你的secret"); req.setQ("空气净化器"); req.setPage(1); req.setPageSize(20); req.setSort("sale_desc"); // 销量降序 req.setFilter("tmall"); // 仅天猫 JSONObject result = TmallSearchService.search(req); JSONArray list = result.getJSONArray("item"); list.forEach(o -> { JSONObject l = (JSONObject) o; System.out.println( l.getString("num_iid") + "\t" + l.getString("title") + "\t" + l.getBigDecimal("price") + "\t" + l.getInteger("sales")); }); } }

控制台输出(示例):

723971306902 iPhone15 液态硅胶手机壳 28.8 3200 ...

八、频率 & 限额

版本日调用量频率备注
免费100/IP1 qps足够测试
基础10 k5 qps59 元/月
高级100 k20 qps可谈折扣

超出返回429,需做指数退避重试。


九、常见异常对照

返回码含义解决
400参数为空检查 q、key、secret
403IP 未在白名单控制台绑定出口 IP
429频率超限降速或升级套餐
5003关键词无结果换词或去掉价格区间

十、小结

  1. 天猫「关键词搜索」官方不对外开放,只能用第三方聚合接口。

  2. 万邦item_search_tmall字段齐全、接入简单,Java 示例 30 行即可跑通。

  3. 生产环境务必「本地缓存 + 限流 + 重试」,避免额度浪费。

  • 如遇任何疑问或有进一步的需求,请随时与我私信或者评论联系。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 1:14:48

为什么AI印象派艺术工坊能秒出油画?纯算法渲染部署教程

为什么AI印象派艺术工坊能秒出油画&#xff1f;纯算法渲染部署教程 1. 不靠模型&#xff0c;靠算法&#xff1a;它凭什么快得像按下快门&#xff1f; 你有没有试过用AI生成一幅油画&#xff1f;多数人等了半分钟&#xff0c;进度条还在蠕动&#xff0c;最后出来的画还带着奇怪…

作者头像 李华
网站建设 2026/4/17 18:34:12

DASD-4B-Thinking效果展示:Chainlit实测4B模型在HumanEval-X代码生成表现

DASD-4B-Thinking效果展示&#xff1a;Chainlit实测4B模型在HumanEval-X代码生成表现 1. 模型能力概览&#xff1a;小身材&#xff0c;大思考 你有没有试过用一个只有40亿参数的模型&#xff0c;写出能通过HumanEval-X测试的完整可运行代码&#xff1f;不是简单补全几行&…

作者头像 李华
网站建设 2026/4/18 9:48:12

HY-MT1.5如何实现术语干预?技术细节与调用示例

HY-MT1.5如何实现术语干预&#xff1f;技术细节与调用示例 1. 什么是HY-MT1.5——轻量但不妥协的翻译新选择 很多人一听到“1.8B参数”就默认这是个“缩水版”翻译模型&#xff0c;但HY-MT1.5-1.8B完全打破了这个印象。它不是大模型的简化副本&#xff0c;而是一套从训练范式…

作者头像 李华
网站建设 2026/4/19 9:26:16

Clawdbot镜像免配置实战:Qwen3-32B Web Chat平台3步快速上线指南

Clawdbot镜像免配置实战&#xff1a;Qwen3-32B Web Chat平台3步快速上线指南 你是不是也遇到过这样的问题&#xff1a;想快速搭一个能跑Qwen3-32B的网页聊天界面&#xff0c;但光是装Ollama、拉模型、配API、写前端、调端口转发&#xff0c;就卡在第一步&#xff1f;改配置文件…

作者头像 李华
网站建设 2026/4/21 0:12:17

GTE中文向量模型性能优化:CUDA Graph加速+KV Cache复用降低35%推理延迟

GTE中文向量模型性能优化&#xff1a;CUDA Graph加速KV Cache复用降低35%推理延迟 在实际业务中&#xff0c;文本向量化是搜索召回、语义去重、知识图谱构建等场景的底层支撑能力。但很多团队反馈&#xff1a;GTE中文大模型虽效果出色&#xff0c;推理延迟高、GPU显存占用大、…

作者头像 李华