从手动搜货到 AI 全自动选品|OpenClaw item_search + 多 Agent 落地实战,小白也能搭建无人选品机器人
做电商、无货源铺货、竞品调研的朋友基本都绕不开商品关键词搜索。传统玩法:手动打开淘宝搜词、一页页复制商品 ID、粘贴到详情接口查数据、再人工筛选价格和款式,一套类目选品下来半天起步;批量多类目调研,人力成本直接拉满。
最近在用「AI 多智能体 + OpenClaw 淘宝关键词搜索 item_search 接口」做自动化选品,一句话下达选品需求,从关键词拓展、全页数据抓取、商品筛选、爆款详情深挖,最后自动生成 Excel 铺货报表,整套流程全自动跑,不用盯程序、不用反复修改接口参数。
本文基于 taobao.item_search 搜索 API,搭配分层 AI Agent 实战开发,附上可直接运行 Python 源码,部署后就能实现无人值守选品,适配个人卖家、小型工作室、自研 ERP 开发。
一、item_search 接口简单介绍
接口名称:taobao.item_search(关键词搜淘宝商品)请求地址:https://api-gw.onebound.cn/taobao/item_search
1. 公共参数
key、secret 为调用凭证,后续全部交由 Agent 统一托管配置,一次填写全程复用;cache 默认开启缓存加速,返回格式选用 jsonu 方便 AI 识别中文内容。获取key和secret
2. 核心入参(全部由 AI 自动生成,无需手动填写)
- q:搜索关键词,Agent 根据指令自动衍生长尾词
- start_price/end_price:价格筛选区间,自然语言提取数字自动赋值
- page:页码,采集 Agent 自动循环翻页,接口上限单词最多 100 页
3. 返回数据核心字段
单次搜索返回分页总数、类目预估商品总量、单品标题 / 售价 / 促销价 / 商品 ID / 主图 / 链接,依托标准化 JSON 结构,非常适配 AI 做数据解析。
4. 错误码快速说明(Agent 内置自动容错)
表格
二、整套 AI Agent 分工逻辑(通俗版)
没有复杂的分布式架构,拆成 5 个轻量化智能体,一环接一环串联工作:
- 关键词解析 Agent:接收人话指令,拆解核心词 + 拓展长尾搜索词、拆分价格筛选范围
例:用户说 “找 30~80 元秋冬女装做铺货”→自动生成:秋冬女装、秋冬新款打底女装、高腰休闲女装等多组搜索关键词
- 数据采集 Agent:循环调用 OpenClaw item_search,自动分页爬取全页商品,捕获报错自动重试
- 商品筛选 Agent:按价格、销量规则过滤垃圾商品,输出优质货源 ID 清单
- 详情深挖 Agent:拿着筛选后的商品 ID,联动 item_get 详情接口,补齐 SKU、属性、店铺全量信息
- 报表生成 Agent:汇总所有有效数据,自动生成 Excel 铺货表格 + 简易市场分析文案
整体链路:一句话指令 → 扩词搜品 → 批量过滤 → 深挖详情 → 自动出铺货文档
三、开箱即用 Python 完整代码
python
运行
# -*- coding: utf-8 -*-
"""
AI自动化选品工具|多Agent+OpenClaw item_search
一句话下达需求,全自动淘宝关键词搜款、筛选、生成铺货表
"""
import requests
import time
import pandas as pd
# 接口凭证配置区
OC_KEY = "你的Key"
OC_SECRET = "你的Secret"
SEARCH_API = "https://api-gw.onebound.cn/taobao/item_search"
DETAIL_API = "https://api-gw.onebound.cn/taobao/item_get"
# Agent1:指令&关键词处理
class WordAgent:
def split_word(self, prompt, low_price, high_price):
core = prompt.replace("找","").replace("做铺货","").replace("元","")
expand_list = [core, f"{core}新款", f"{core}百搭", f"{core}爆款"]
task_params = []
for word in expand_list:
task_params.append({
"q": word,
"start_price": low_price,
"end_price": high_price,
"cat": 0
})
return task_params
# Agent2:批量搜索采集
class SearchAgent:
def __init__(self):
self.key = OC_KEY
self.secret = OC_SECRET
self.goods_pool = []
def run_search(self, param, page=1):
payload = {
"key": self.key,
"secret": self.secret,
"q": param["q"],
"start_price": param["start_price"],
"end_price": param["end_price"],
"page": page,
"cat": param["cat"],
"result_type": "jsonu",
"cache": "yes"
}
try:
res = requests.get(SEARCH_API, params=payload, timeout=18).json()
code = res.get("error_code")
if code != "0000":
if code == "2000":
print(f"【提示】关键词 {param['q']} 暂无商品")
return
elif code == "4008":
print("访问拥挤,等待5秒重试")
time.sleep(5)
self.run_search(param, page)
return
else:
print(f"异常错误:{res.get('reason')}")
return
items = res["items"]["item"]
self.goods_pool.extend(items)
total_page = int(res["items"]["pagecount"])
print(f"{param['q']}:已采集第{page}页,本页{len(items)}个商品")
# 限制最大100页
if page < total_page and page < 100:
time.sleep(0.7)
self.run_search(param, page+1)
except Exception as e:
print("网络异常:",e)
# Agent3:商品规则筛选
class FilterAgent:
def filter_data(self, all_data, min_p, max_p):
res_list = []
id_list = []
for item in all_data:
try:
price = float(item["price"])
sale_num = int(item.get("sales",0))
# 自定义筛选规则:价格区间+有销量
if min_p <= price <= max_p and sale_num>0:
res_list.append(item)
id_list.append(item["num_iid"])
except:
continue
print(f"\n筛选完成:原始{len(all_data)}件 → 符合铺货标准{len(res_list)}件")
return res_list, id_list
# Agent4:单品详情补充
class DetailAgent:
def get_item_info(self, gid):
params = {
"key":OC_KEY,"secret":OC_SECRET,"num_iid":gid,"is_promotion":1,"result_type":"jsonu"
}
resp = requests.get(DETAIL_API,params=params,timeout=15).json()
if resp["error_code"] != "0000":
return None
return resp["item"]
# Agent5:自动生成表格&分析报告
class ExcelAgent:
def save_file(self, data):
df = pd.DataFrame(data)
df.to_excel("淘宝货源铺货清单.xlsx",index=False)
avg = round(df["price"].astype(float).mean(),2)
print(f"\n✅ 铺货表格生成完毕,共{len(data)}个优质货源")
print(f"📊 品类均价:{avg}元,素材图片、商品链接全部收录可直接上架")
# 程序入口
if __name__ == "__main__":
# 在这里修改你的需求
user_msg = "找30~80元秋冬女装做铺货"
min_price,max_price = 30,80
# 任务流水线启动
word_agent = WordAgent()
search_task = word_agent.split_word(user_msg,min_price,max_price)
search_agent = SearchAgent()
for p in search_task:
search_agent.run_search(p)
filter_agent = FilterAgent()
good_items,good_ids = filter_agent.filter_data(search_agent.goods_pool,min_price,max_price)
# 批量补齐详情数据
detail_agent = DetailAgent()
full_info = []
for goods_id in good_ids:
info = detail_agent.get_item_info(goods_id)
if info:
full_info.append(info)
time.sleep(0.5)
excel_agent = ExcelAgent()
excel_agent.save_file(full_info)运行步骤
- 安装依赖:pip install requests pandas openpyxl
- 替换代码内 key、secret
- 修改 user_msg 和价格区间,直接运行即可
四、落地 3 个真实使用场景
场景 1|无货源工作室日常选品
设置定时任务,每日凌晨自动跑词抓取当季新品,筛选符合定价货源,白天直接打开 Excel 表格上架,不用每天花 2~3 小时找款。
场景 2|类目市场调研
输入类目关键词,AI 自动抓取全价格带商品,通过生成的表格统计类目主流售价、热销款式特征,用来指导自家产品定价。
场景 3|跨平台铺货前置
抓取淘宝货源后,提取标题、主图、SKU 参数,简单微调即可上架拼多多、跨境平台,大幅压缩上新周期。
五、开发过程常见小问题答疑
Q1:单个关键词最多只能抓 100 页,怎么抓取更多商品?
A:关键词 Agent 拆分多价格分段,比如 0-30、30-60、60-100 分 3 组搜索,规避接口单词页数限制,变相拿到全量商品。
Q2:频繁出现 4008 超限报错怎么优化?
A:在采集代码里调整 sleep 休眠时间,批量任务拆分多时段错开调用。
Q3:想接入 GPT / 通义千问优化关键词拓展?
A:在 WordAgent 模块对接大模型接口,由 AI 根据季节、平台热点智能生成搜索词,选品精准度进一步提升。
六、最后总结
对比传统爬虫易封号、IP 受限、开发繁琐的痛点,依托 OpenClaw 标准化 API+AI Agent 方案,把重复的搜词、翻页、筛选工作交给程序自动化完成。这套轻量化架构不管是个人做副业铺货,还是企业自研 ERP 对接货源系统,都能低成本落地。后续还能继续拓展价格监控、自动预警降价商品等拓展功能。