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

Ed5个月前未分类264
做电商、无货源铺货、竞品调研的朋友基本都绕不开商品关键词搜索。传统玩法:手动打开淘宝搜词、一页页复制商品 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 对接货源系统,都能低成本落地。后续还能继续拓展价格监控、自动预警降价商品等拓展功能。



相关文章

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

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

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

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

电商软件开发日至:唯品会商品详情对接

  在电商开发的江湖里摸爬滚打这些年,和唯品会商品详情 API 的 “过招” 经历堪称一场充满惊喜与挑战的冒险。从特卖模式特有的数据结构,到接口调用时的各种 “暗礁”,每一步都藏着...

拍立淘按图搜商品接口(item_search_img)实战文档 | 多 AI Agent+OpenClaw 全链路落地方案

做电商选品、货源比价、同款溯源、竞品扒款,以图搜商品是日常高频操作。不管是线下实拍款式、同行店铺截图,还是短视频种草素材,都想快速在淘宝找到同款、相似款,对比价格、产地、货源渠道。手动使用拍立淘效率很...

Python爬虫入门(1)

在互联网时代,数据成为了最宝贵的资源之一。Python作为一种功能强大的编程语言,因其简洁的语法和丰富的库支持,成为了编写网络爬虫的首选。本文将带你入门Python爬虫技术,让你能够从互联网上自动获取...

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

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

发表评论    

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