☰
OpenClaw 对接淘宝商品 API 做全天候选品监控:TaoToken 统一 Key 配置与 Python 定时任务实操
2026/9/29 2:59:07 网站建设 项目流程

1. 全天候选品监控的真实痛点与 OpenClaw 的切入点

做淘系无货源或者小团队铺货的朋友,大概率都经历过这样的循环:早上打开生意参谋翻榜单,中午手动记录几个竞品价格,晚上再看一眼销量有没有涨。一天下来真正用来做决策的时间不到两小时,其余全耗在重复的页面切换和复制粘贴上。更麻烦的是,很多潜力款的红利窗口期只有几个小时,等你第二天再去看,价格已经被同行压下去了。

传统浏览器爬虫方案我也试过,反爬策略升级得很快,验证码、滑块、IP 限流轮着来,维护成本比收益还高。后来我把思路换成「标准化 API + 自动化调度框架」,用 OpenClaw 做任务编排,通过 TaoToken 统一 Key 通道去调淘宝商品详情接口 item_get_pro,整个链路就稳定多了。OpenClaw 负责定时轮询、数据清洗和告警推送,TaoToken 负责把 API 鉴权和通道统一收口,Python 脚本只做业务筛选逻辑。这套组合适合个人卖家、两三个人的小团队,或者想先把选品自动化跑通再考虑扩量的场景。

这篇文章会交付三样东西:一份可复制的 config.toml 骨架、一个能直接跑的 Python 定时任务脚本、以及 item_get_pro 的调用示例和验证监控是否正常触发的具体动作。你照着改 Key 和商品 ID 就能用。

2. TaoToken 前置准备:统一 Key 与通道配置

在写代码之前,先把 TaoToken 这边的接入信息准备好。TaoToken 的作用是把模型调用和 API 通道的鉴权统一管理,你不需要在每个脚本里散落不同的 Key,而是通过一个统一的 API Key 去访问兼容通道。官网地址是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 入口是 https://taotoken.net/api 。

具体操作分三步。第一步,登录 TaoToken 控制台,进入 API Keys 管理页面创建一个新的 Key,建议按项目命名,比如openclaw-taobao-monitor,方便后续排查。第二步,确认你的调用通道,item_get_pro 这类商品详情接口走的是标准 API 通道,不需要额外开通模型对话权限。第三步,把 Key 和通道地址记下来,后面写进 config.toml。

这里有个细节要注意:TaoToken 的 API Key 是统一鉴权用的,不要把它和淘宝开放平台的 appkey 混在一起。item_get_pro 的请求参数里需要的是接口服务商侧的鉴权信息,而 TaoToken 负责的是你访问 API 通道时的身份校验。两者是不同层级的东西,配置的时候分开写。

如果你后续还想让 OpenClaw 在筛选出潜力品之后自动生成一段推荐文案,或者用模型对话能力做商品标题的语义去重,那可以在 TaoToken 的模型对话通道里再配一个模型。这部分不是必须的,但扩展性会好很多。

3. 可复制配置:config.toml 骨架与 OpenClaw 初始化

OpenClaw 的配置我建议统一放在config.toml里,不要把 Key 硬编码到 Python 脚本中。这样换环境或者多人协作的时候,只需要改一个文件。下面是我实测可用的骨架,你直接复制改值就行。

# config.toml - OpenClaw 淘宝选品监控配置 [taotoken] # TaoToken 统一 API 通道 api_base = "https://taotoken.net/api" api_key = "你的_taotoken_api_key" # 模型对话通道,用于后续文案生成或语义去重(可选) chat_model = "gpt-4o-mini" [taobao_api] # item_get_pro 接口地址 endpoint = "https://api.example.com/taobao/item_get_pro" # 接口服务商侧鉴权 app_key = "你的接口appkey" app_secret = "你的接口secret" timeout = 15 # 单次请求间隔,避免高频限流 request_interval = 1.0 [monitor] # 监控轮询间隔(小时) interval_hours = 4 # 商品 ID 清单文件 item_id_file = "./item_ids.csv" # 全量数据落表路径 raw_data_path = "./淘宝选品监控数据表.xlsx" # 潜力品清单路径 good_item_path = "./潜力爆款清单.xlsx" [filter] min_month_sold = 300 max_month_sold = 5000 min_commission = 15 min_good_rate = 0.92 discount_rate = 0.6 [notify] # OpenClaw 消息推送开关 enable = true channel = "dingtalk" webhook = "你的钉钉机器人webhook"

配置文件写好后,在终端执行 OpenClaw 的初始化命令,让它读取配置并绑定本地服务。默认绑定 127.0.0.1,避免公网暴露。

openclaw config load ./config.toml openclaw config set bind_ip 127.0.0.1 openclaw restart

如果你还没装 OpenClaw 的电商采集技能,先补上:

npx clawhub@latest install EcommerceCrawlSkill PriceMonitorSkill

这两个技能分别负责商品数据采集和价格销量监控,是对接 item_get_pro 的基础插件。装完之后openclaw config load才能识别到对应的任务类型。

4. Python 定时任务脚本与 item_get_pro 调用示例

配置就绪后,核心逻辑分两个文件:一个负责调 item_get_pro 拉数据,一个负责 OpenClaw 定时调度和筛选。先看接口调用部分。

# taobao_item_api.py import requests import pandas as pd import toml from datetime import datetime # 读取统一配置 cfg = toml.load("./config.toml") API_URL = cfg["taobao_api"]["endpoint"] APP_KEY = cfg["taobao_api"]["app_key"] APP_SECRET = cfg["taobao_api"]["app_secret"] TIMEOUT = cfg["taobao_api"]["timeout"] INTERVAL = cfg["taobao_api"]["request_interval"] RAW_PATH = cfg["monitor"]["raw_data_path"] def get_item_info(item_id): """调用 item_get_pro 获取单品全量数据""" params = { "appkey": APP_KEY, "secret": APP_SECRET, "item_id": item_id, "lang": "zh-CN" } try: resp = requests.get(API_URL, params=params, timeout=TIMEOUT) result = resp.json() if result.get("code") != 0: print(f"商品 {item_id} 查询失败:{result.get('msg')}") return None data = result["data"] return { "抓取时间": datetime.now().strftime("%Y-%m-%d %H:%M:%S"), "商品ID": item_id, "商品标题": data.get("title", ""), "现价": data.get("price", 0), "原价": data.get("orig_price", 0), "月销量": data.get("month_sold", 0), "总销量": data.get("total_sold", 0), "佣金比例": data.get("tk_rate", 0), "好评率": data.get("good_rate", 0), "店铺评分": data.get("shop_dsr", ""), "优惠券金额": data.get("coupon_price", 0), "商品链接": data.get("item_url", "") } except Exception as e: print(f"接口请求异常:{e}") return None def batch_get_items(): """批量读取商品 ID 并采集""" id_df = pd.read_csv(cfg["monitor"]["item_id_file"]) item_ids = id_df["item_id"].astype(str).tolist() rows = [] for iid in item_ids: info = get_item_info(iid) if info: rows.append(info) time.sleep(INTERVAL) if rows: df_new = pd.DataFrame(rows) try: df_old = pd.read_excel(RAW_PATH) df_all = pd.concat([df_old, df_new], ignore_index=True) except FileNotFoundError: df_all = df_new df_all.to_excel(RAW_PATH, index=False) print(f"本轮采集 {len(rows)} 个商品,已写入 {RAW_PATH}") return rows

注意这里用了toml库读取配置,需要先pip install toml requests pandas openpyxl。商品 ID 清单放在item_ids.csv里,一列item_id即可,方便你后续批量导入几百上千个 ID。

接下来是 OpenClaw 定时调度和筛选逻辑:

# openclaw_monitor.py from openclaw import scheduler from taobao_item_api import batch_get_items import pandas as pd import toml cfg = toml.load("./config.toml") f = cfg["filter"] GOOD_PATH = cfg["monitor"]["good_item_path"] def select_good_items(): """按筛选规则挑出潜力品""" items = batch_get_items() good = [] for d in items: try: orig = float(d["原价"]) discount = float(d["现价"]) / orig if orig > 0 else 1 except (ValueError, TypeError): discount = 1 if (f["min_month_sold"] <= int(d["月销量"]) <= f["max_month_sold"] and float(d["佣金比例"]) >= f["min_commission"] and float(d["好评率"]) >= f["min_good_rate"] and discount <= f["discount_rate"]): good.append(d) print(f"发现潜力品:{d['商品标题']} | ID:{d['商品ID']}") if good: df_good = pd.DataFrame(good) try: df_hist = pd.read_excel(GOOD_PATH) df_final = pd.concat([df_hist, df_good], ignore_index=True) except FileNotFoundError: df_final = df_good df_final.to_excel(GOOD_PATH, index=False) scheduler.msg_send( title="新发现淘宝潜力选品", content=f"本轮筛出 {len(good)} 个优质货源,请查看表格" ) scheduler.add_job( func=select_good_items, trigger="interval", hours=cfg["monitor"]["interval_hours"], id="taobao_monitor", replace_existing=True ) if __name__ == "__main__": print("OpenClaw 淘宝选品监控启动,每 {} 小时轮询一次".format( cfg["monitor"]["interval_hours"])) scheduler.start()

筛选规则我设的是月销 300 到 5000、佣金不低于 15%、好评率 92% 以上、现价低于原价六折。这几个阈值你可以直接在 config.toml 的[filter]段里改,不用动代码。OpenClaw 的scheduler.msg_send会把达标商品推送到钉钉或企业微信,具体 webhook 在配置文件的[notify]段填。

5. 验证监控是否正常触发:具体动作与成功结果

代码写完之后,不要直接挂后台跑,先做三步验证。

第一步,单独跑接口调用,确认 item_get_pro 能返回数据。在终端执行:

python -c "from taobao_item_api import get_item_info; print(get_item_info('725896325412'))"

如果返回一个包含标题、价格、月销的字典,说明 TaoToken 通道和接口鉴权都通了。如果返回 None,先看控制台打印的错误信息,大概率是 appkey 或 secret 不对。

第二步,跑一次完整采集,确认 Excel 落表正常:

python taobao_item_api.py

打开淘宝选品监控数据表.xlsx,应该能看到本轮抓取的商品行,每行带抓取时间戳。这一步验证的是数据清洗和存储链路。

第三步,启动 OpenClaw 定时任务,观察是否按间隔触发:

python openclaw_monitor.py

启动后你会看到「OpenClaw 淘宝选品监控启动」的提示。为了快速验证,可以临时把 config.toml 里的interval_hours改成 0.05(也就是 3 分钟),等一轮触发后看两个信号:一是控制台有没有打印「发现潜力品」或「本轮采集 N 个商品」;二是钉钉有没有收到推送消息。验证通过后再把间隔改回 4 小时。

成功的结果是:OpenClaw 常驻后台,每 4 小时自动拉一次数据,筛选出的潜力品追加写入潜力爆款清单.xlsx,同时推送告警。你不需要盯着屏幕,只需要定期看清单表就行。

6. 本篇常见错排查

接口返回 code 非 0 或提示鉴权失败。先检查 config.toml 里的app_key和app_secret是否和接口服务商后台一致,注意不要有多余空格。如果确认无误,再看 TaoToken 的 API Key 是否过期或额度用尽,去控制台 API Keys 页面确认状态。

商品 ID 失效导致整批中断。item_get_pro 对已下架商品会返回空数据或错误码,脚本里已经做了异常捕获,单个失败会跳过继续下一个。但如果你发现某批 ID 全部失败,先手动用单个 ID 测一下,确认是接口侧问题还是 ID 格式问题。CSV 里的 item_id 列不要带小数点或科学计数法。

OpenClaw 定时任务不触发。最常见的原因是scheduler.start()之后主线程被阻塞或者脚本提前退出。确保openclaw_monitor.py是在前台运行的状态下观察,如果部署到云服务器,用nohup python openclaw_monitor.py &挂后台,并检查 nohup.out 日志有没有报错。另外确认openclaw config load已经执行过,否则 scheduler 模块可能读不到任务配置。

请求频率过高被限流。如果你监控的商品 ID 有几百个,单次轮询的请求间隔要适当调大。config.toml 里的request_interval默认 1 秒,商品多的时候可以改成 1.5 或 2 秒。接口服务商一般有每日免费额度,批量轮询前先确认额度够不够。

Excel 写入报 PermissionError。说明文件正被 Excel 打开占用,关闭表格再跑脚本即可。长期运行建议把存储换成 MySQL,用 pymysql 入库,避免文件锁问题,也方便做历史价格回溯。

排障相关的接入文档和 API Keys 管理都在 TaoToken 控制台里,遇到鉴权或通道问题可以直接对照文档排查:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite 。如果你后续想让 OpenClaw 在筛选后自动生成商品推荐文案,或者用模型对话做标题语义去重,可以走模型对话通道:https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite 。长期跑编码和 Agent 类任务的话,Coding Plan 会更划算:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite 。

这套链路跑通之后,你可以继续扩展:把关键词搜索接口的结果自动写入 item_ids.csv,实现「新品上线→自动入池→定时抓取→筛选告警」的闭环。也可以把筛选规则改成价格异动监控,比如三天内降价超过 20% 自动标记,抓短期清仓货源。核心思路就是把重复的盯盘动作交给 OpenClaw 和定时任务,你只负责看清单做决策。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询