从手动搜货到 AI 全自动选品|OpenClaw item_search + 多 Agent 落地实战,小白也能搭建无人选品机器人

Ed3个月前未分类158
做电商、无货源铺货、竞品调研的朋友基本都绕不开商品关键词搜索。传统玩法:手动打开淘宝搜词、一页页复制商品 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 内置自动容错)

表格
错误码
场景
Agent 处理方式
0000
调用成功
正常收纳商品数据
2000
关键词无商品
自动切换衍生关键词重试
4003
参数格式异常
重新生成搜索参数
4008
访问并发超限
程序休眠延时分批请求
4016
账户余额不足
终止任务并日志提醒

二、整套 AI Agent 分工逻辑(通俗版)

没有复杂的分布式架构,拆成 5 个轻量化智能体,一环接一环串联工作:
  1. 关键词解析 Agent:接收人话指令,拆解核心词 + 拓展长尾搜索词、拆分价格筛选范围
例:用户说 “找 30~80 元秋冬女装做铺货”→自动生成:秋冬女装、秋冬新款打底女装、高腰休闲女装等多组搜索关键词
  1. 数据采集 Agent:循环调用 OpenClaw item_search,自动分页爬取全页商品,捕获报错自动重试
  2. 商品筛选 Agent:按价格、销量规则过滤垃圾商品,输出优质货源 ID 清单
  3. 详情深挖 Agent:拿着筛选后的商品 ID,联动 item_get 详情接口,补齐 SKU、属性、店铺全量信息
  4. 报表生成 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)

运行步骤

  1. 安装依赖:pip install requests pandas openpyxl
  2. 替换代码内 key、secret
  3. 修改 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 对接货源系统,都能低成本落地。后续还能继续拓展价格监控、自动预警降价商品等拓展功能。



相关文章

做义乌购批发工具 4 年,被商品详情 API 坑到连夜改代码的实战手记

在小商品批发开发领域摸爬多年,义乌购商品详情 API 的 “批发基因” 藏得极深 —— 从混杂着起订量的价格区间,到关联实体商铺的特殊字段,再到忽明忽暗的签名规则,每一次对接都像在解读小商品市场的 “...

电商平台必看的API接口技术选型指南

一、电商场景核心API技术指标促销期万级QPS承载能力大促期间需支持每秒5000+次并发调用建议采用动态扩容机制,突发流量自动增加30%服务器资源毫秒级价格更新同步比价类接口要求200ms内完成全网数...

竞品分析 + 用户洞察自动化|基于 item_review 评论接口 + 多 AI Agent 实现淘宝评论全量采集与智能分析(附python源码)

做电商运营、竞品调研、产品优化、选品复盘,商品用户评论是最核心的一手数据。传统方式需要手动翻页复制评论、整理图文评价、人工提炼用户痛点、好评卖点,一款热门商品动辄上万条评论,人工处理效率极低,还容易遗...

做反向海淘系统 3 年,被接口坑到怀疑人生的实战复盘

 三年前接了个反向海淘系统的活儿 —— 帮海外用户一键采购国内淘宝、京东的商品,再通过国际物流送到手上。本以为只是 “接口拼接 + 页面展示” 的简单活儿,结果从商品数据聚合到物流轨迹同步,...

做1688批发系统5年,被商品详情API坑到连夜改代码的实战手记

在电商开发圈混了快十年,1688的商品详情API绝对是最“特立独行”的存在。作为批发平台,它的接口返回里藏着太多零售平台没有的“暗门”——从阶梯价的诡异格式到混批规则的嵌套逻辑,每次对接都像拆盲盒。今...

电商评论数据实现每秒百级评论数据的实时抓取

电商评论数据蕴含用户情感与产品改进方向。本文基于Go语言+NSQ消息队列,实现每秒万级评论数据的实时抓取与情感分析。1. 系统架构与核心代码go package main impor...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。