<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>万邦api博客</title><link>https://shopapi.com.cn/</link><description>Good Luck To You!</description><item><title>不用生意参谋，自建淘宝竞品监控选品工具｜OpenClaw 淘宝商品 API 完整实操教程（附 Python 源码）</title><link>https://shopapi.com.cn/?id=180</link><description>&lt;p&gt;&lt;span data-cke-copybin-start=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span id=&quot;cke_bm_2564S&quot; style=&quot;display:none&quot;&gt;&amp;nbsp;&lt;/span&gt;前言&lt;/h2&gt;&lt;p&gt;做淘宝、无货源、跨境铺货的同行应该都有同感：靠人工刷页面选品效率太低，每天花几小时翻竞品，价格波动、销量暴涨、爆款上新完全抓不住时机；官方生意参谋数据有限、付费版本门槛高，想要精细化监控细分类目、对标竞品实时数据很难落地。&lt;/p&gt;&lt;p&gt;前段时间我一直在找稳定、合规的第三方商品数据接口，对比多款服务后用 OpenClaw 提供的淘宝 item_get_pro 商品详情接口，搭了一套轻量化自动选品监控程序。不用复杂分布式部署，单台电脑就能 7×24 小时轮询商品数据，自动筛选潜力款、价格异动竞品，个人卖家、小工作室都能直接复用。&lt;/p&gt;&lt;p&gt;本文完整拆解实现思路、接口调用逻辑、可运行 Python 代码、数据筛选规则，发布在 CSDN、知乎都适配，无广告硬广，纯实操干货。&lt;/p&gt;&lt;h2&gt;一、方案整体思路：OpenClaw 接口实现自动化选品监控&lt;/h2&gt;&lt;h3&gt;1. 为什么选择淘宝 item_get_pro 高级商品详情接口&lt;/h3&gt;&lt;p&gt;常规简易商品接口只能拿到标题、售价等表层数据，做选品分析完全不够用。item_get_pro 是进阶版商品查询接口，一次性返回完整商品全维度字段，完美支撑选品监控需求：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;基础信息：商品 ID、标题、主图、sku 规格、一口价、活动售价、历史促销价&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;运营核心数据：月销量、累计评价数、好评率、店铺层级、卖家信用、是否金牌店铺&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;流量与转化标签：是否新品、有无运费险、天猫 / 淘宝区分、搜索关键词标签、同款商品列表&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;库存与上架信息：库存数量、上架时间、下架预警、类目层级 ID&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;对比手动采集、普通爬虫两大传统方案，接口方案优势非常明显：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;规避网页反爬限制，不用维护代理池、解析页面 DOM，不会出现频繁封 IP 问题&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;数据标准化 JSON 返回，无需清洗杂乱网页文本，直接入库做筛选计算&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;支持批量商品轮询，自定义间隔时间，实现全天候监控&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;兼容淘宝、天猫商品，同时适配国内内销与跨境铺货选品场景&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;2. 整套监控选品流程&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;准备商品池：录入对标竞品、类目种子商品 ID，存入本地数据库 / CSV&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;循环调用 OpenClaw item_get_pro 接口，定时拉取实时商品数据&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;数据持久化存储，对比历史记录捕捉异动（降价、销量突增、评价暴涨）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;自定义筛选规则，自动过滤潜力爆款（高销量 + 高好评 + 低价蓝海款）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;异动数据推送提醒（控制台打印 / 企业微信 / 邮件拓展）&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;二、前置准备工作&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;注册开发者账号，获取专属 &lt;span aria-label=&quot;a 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_inline cke_widget_csdnlink cke_widget_wrapper_link-info cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;a&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;2&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;link-info cke_widget_editable cke_widget_element&quot; contenteditable=&quot;true&quot; data-cke-enter-mode=&quot;2&quot; data-cke-widget-data=&quot;%7B%22url%22%3A%22https%3A%2F%2Fo0b.cn%2Ficris%22%2C%22text%22%3A%22API%20Key%22%2C%22desc%22%3A%22%22%2C%22icon%22%3A%22%22%2C%22isCard%22%3Afalse%2C%22hasResquest%22%3Atrue%2C%22iconDefault%22%3A%22https%3A%2F%2Fcsdnimg.cn%2Frelease%2Fblog_editor_html%2Frelease2.4.6%2Fckeditor%2Fplugins%2FCsdnLink%2Ficons%2Ficon-default.png%3Ft%3DQ239%22%2C%22id%22%3A%22EnSPUE-1781754044352%22%2C%22classes%22%3A%7B%22link-info%22%3A1%7D%7D&quot; data-cke-widget-editable=&quot;text&quot; data-cke-widget-keep-attr=&quot;0&quot; data-link-icon=&quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=Q239&quot; data-link-title=&quot;API Key&quot; data-widget=&quot;csdnlink&quot; href=&quot;https://o0b.cn/icris&quot; title=&quot;API Key&quot;&gt;API Key&lt;/a&gt;&lt;/span&gt;、Secret 密钥（接口调用身份凭证）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;本地 Python 环境，安装依赖库：requests、pandas、time、json&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;准备商品 ID 清单，可从淘宝商品详情页链接提取 item_id（链接中&lt;code&gt;id=xxxx&lt;/code&gt;数字）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;存储方案：新手先用 CSV 本地存储，长期使用可替换 sqlite/mysql 数据库&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;安装依赖命令：&lt;/p&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;0&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22pip%20install%20requests%20pandas%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;pip&amp;nbsp;install&amp;nbsp;requests&amp;nbsp;pandas&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h2&gt;三、完整可运行 Python 监控选品代码&lt;/h2&gt;&lt;h3&gt;3.1 基础接口请求封装工具类&lt;/h3&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;1&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22import%20requests%5Cnimport%20json%5Cnimport%20time%5Cnimport%20pandas%20as%20pd%5Cnfrom%20datetime%20import%20datetime%5Cn%5Cn%23%20%E6%9B%BF%E6%8D%A2%E6%88%90%E4%BD%A0%E8%87%AA%E5%B7%B1OpenClaw%E5%90%8E%E5%8F%B0%E7%9A%84%E5%AF%86%E9%92%A5%5CnAPI_KEY%20%3D%20%5C%22%E4%BD%A0%E7%9A%84key%5C%22%5CnAPI_SECRET%20%3D%20%5C%22%E4%BD%A0%E7%9A%84secret%5C%22%5Cn%23%20%E7%9B%AE%E6%A0%87%E6%8E%A5%E5%8F%A3%E5%9C%B0%E5%9D%80%EF%BC%9A%E6%B7%98%E5%AE%9D%E9%AB%98%E7%BA%A7%E5%95%86%E5%93%81%E8%AF%A6%E6%83%85%E6%8E%A5%E5%8F%A3%20item_get_pro%5CnAPI_URL%20%3D%20%5C%22https%3A%2F%2Fopen.onebound.cn%2Ftaobao%2Fitem_get_pro%5C%22%5Cn%5Cnclass%20TaobaoItemMonitor%3A%5Cn%20%20%20%20def%20__init__(self)%3A%5Cn%20%20%20%20%20%20%20%20self.key%20%3D%20API_KEY%5Cn%20%20%20%20%20%20%20%20self.secret%20%3D%20API_SECRET%5Cn%20%20%20%20%20%20%20%20self.url%20%3D%20API_URL%5Cn%20%20%20%20%20%20%20%20%23%20%E5%AD%98%E5%82%A8%E5%8E%86%E5%8F%B2%E6%95%B0%E6%8D%AE%E6%96%87%E4%BB%B6%5Cn%20%20%20%20%20%20%20%20self.save_file%20%3D%20%5C%22taobao_goods_data.csv%5C%22%5Cn%20%20%20%20%20%20%20%20%23%20%E5%88%9D%E5%A7%8B%E5%8C%96%E6%96%87%E4%BB%B6%E4%B8%8D%E5%AD%98%E5%9C%A8%E5%88%99%E5%88%9B%E5%BB%BA%E8%A1%A8%E5%A4%B4%5Cn%20%20%20%20%20%20%20%20self.init_data_file()%5Cn%5Cn%20%20%20%20def%20init_data_file(self)%3A%5Cn%20%20%20%20%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20pd.read_csv(self.save_file)%5Cn%20%20%20%20%20%20%20%20except%20FileNotFoundError%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20cols%20%3D%20%5B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%22crawl_time%5C%22%2C%20%5C%22item_id%5C%22%2C%20%5C%22title%5C%22%2C%20%5C%22price%5C%22%2C%20%5C%22sale_price%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%22month_sold%5C%22%2C%20%5C%22total_comment%5C%22%2C%20%5C%22good_rate%5C%22%2C%20%5C%22shop_name%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%22shop_level%5C%22%2C%20%5C%22is_tmall%5C%22%2C%20%5C%22stock%5C%22%2C%20%5C%22category_id%5C%22%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5D%5Cn%20%20%20%20%20%20%20%20%20%20%20%20df%20%3D%20pd.DataFrame(columns%3Dcols)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20df.to_csv(self.save_file%2C%20index%3DFalse%2C%20encoding%3D%5C%22utf-8-sig%5C%22)%5Cn%5Cn%20%20%20%20%23%20%E8%B0%83%E7%94%A8item_get_pro%E6%8E%A5%E5%8F%A3%E8%8E%B7%E5%8F%96%E5%8D%95%E5%95%86%E5%93%81%E5%AE%8C%E6%95%B4%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20def%20get_item_detail(self%2C%20item_id)%3A%5Cn%20%20%20%20%20%20%20%20params%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22key%5C%22%3A%20self.key%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22secret%5C%22%3A%20self.secret%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22api_name%5C%22%3A%20%5C%22item_get_pro%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22item_id%5C%22%3A%20item_id%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20resp%20%3D%20requests.get(self.url%2C%20params%3Dparams%2C%20timeout%3D15)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20res_json%20%3D%20resp.json()%5Cn%20%20%20%20%20%20%20%20%20%20%20%20if%20res_json.get(%5C%22code%5C%22)%20!%3D%200%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E5%95%86%E5%93%81%7Bitem_id%7D%E6%8E%A5%E5%8F%A3%E8%AF%B7%E6%B1%82%E5%A4%B1%E8%B4%A5%EF%BC%9A%7Bres_json.get(&amp;#39;msg&amp;#39;)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20None%5Cn%20%20%20%20%20%20%20%20%20%20%20%20return%20res_json.get(%5C%22result%5C%22%2C%20%7B%7D)%5Cn%20%20%20%20%20%20%20%20except%20Exception%20as%20e%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E8%AF%B7%E6%B1%82%E5%BC%82%E5%B8%B8%20item_id%3A%7Bitem_id%7D%2C%20%E9%94%99%E8%AF%AF%EF%BC%9A%7Bstr(e)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20return%20None%5Cn%5Cn%20%20%20%20%23%20%E8%A7%A3%E6%9E%90%E6%8E%A5%E5%8F%A3%E8%BF%94%E5%9B%9E%E6%95%B0%E6%8D%AE%EF%BC%8C%E6%8F%90%E5%8F%96%E9%80%89%E5%93%81%E6%A0%B8%E5%BF%83%E5%AD%97%E6%AE%B5%5Cn%20%20%20%20def%20parse_goods_data(self%2C%20raw_data)%3A%5Cn%20%20%20%20%20%20%20%20if%20not%20raw_data%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20return%20%7B%7D%5Cn%20%20%20%20%20%20%20%20item_info%20%3D%20raw_data.get(%5C%22item%5C%22%2C%20%7B%7D)%5Cn%20%20%20%20%20%20%20%20price_info%20%3D%20raw_data.get(%5C%22price%5C%22%2C%20%7B%7D)%5Cn%20%20%20%20%20%20%20%20sales_info%20%3D%20raw_data.get(%5C%22sales%5C%22%2C%20%7B%7D)%5Cn%20%20%20%20%20%20%20%20shop_info%20%3D%20raw_data.get(%5C%22shop%5C%22%2C%20%7B%7D)%5Cn%20%20%20%20%20%20%20%20category_info%20%3D%20raw_data.get(%5C%22category%5C%22%2C%20%7B%7D)%5Cn%5Cn%20%20%20%20%20%20%20%20data%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22crawl_time%5C%22%3A%20datetime.now().strftime(%5C%22%25Y-%25m-%25d%20%25H%3A%25M%3A%25S%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22item_id%5C%22%3A%20item_info.get(%5C%22item_id%5C%22%2C%20%5C%22%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22title%5C%22%3A%20item_info.get(%5C%22title%5C%22%2C%20%5C%22%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22price%5C%22%3A%20price_info.get(%5C%22original_price%5C%22%2C%20%5C%22%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22sale_price%5C%22%3A%20price_info.get(%5C%22current_price%5C%22%2C%20%5C%22%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22month_sold%5C%22%3A%20sales_info.get(%5C%22month_sold%5C%22%2C%200)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22total_comment%5C%22%3A%20sales_info.get(%5C%22comment_count%5C%22%2C%200)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22good_rate%5C%22%3A%20sales_info.get(%5C%22good_comment_rate%5C%22%2C%20%5C%220%25%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22shop_name%5C%22%3A%20shop_info.get(%5C%22shop_name%5C%22%2C%20%5C%22%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22shop_level%5C%22%3A%20shop_info.get(%5C%22shop_rank%5C%22%2C%20%5C%22%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22is_tmall%5C%22%3A%20shop_info.get(%5C%22is_tmall%5C%22%2C%20False)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22stock%5C%22%3A%20item_info.get(%5C%22stock_num%5C%22%2C%200)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22category_id%5C%22%3A%20category_info.get(%5C%22cid%5C%22%2C%20%5C%22%5C%22)%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%20%20return%20data%5Cn%5Cn%20%20%20%20%23%20%E5%86%99%E5%85%A5%E6%9C%AC%E5%9C%B0CSV%E5%AD%98%E5%82%A8%5Cn%20%20%20%20def%20save_to_csv(self%2C%20data_row)%3A%5Cn%20%20%20%20%20%20%20%20df%20%3D%20pd.DataFrame(%5Bdata_row%5D)%5Cn%20%20%20%20%20%20%20%20df.to_csv(self.save_file%2C%20mode%3D%5C%22a%5C%22%2C%20header%3DFalse%2C%20index%3DFalse%2C%20encoding%3D%5C%22utf-8-sig%5C%22)%5Cn%5Cn%20%20%20%20%23%20%E7%88%86%E6%AC%BE%E7%AD%9B%E9%80%89%E8%A7%84%E5%88%99%EF%BC%9A%E8%87%AA%E5%AE%9A%E4%B9%89%E8%93%9D%E6%B5%B7%E6%BD%9C%E5%8A%9B%E6%AC%BE%E6%A0%87%E5%87%86%EF%BC%8C%E5%8F%AF%E8%87%AA%E8%A1%8C%E8%B0%83%E6%95%B4%E9%98%88%E5%80%BC%5Cn%20%20%20%20def%20filter_hot_goods(self%2C%20data_row)%3A%5Cn%20%20%20%20%20%20%20%20%23%20%E7%AD%9B%E9%80%89%E6%9D%A1%E4%BB%B6%EF%BC%9A%E6%9C%88%E9%94%80%3E200%EF%BC%8C%E5%A5%BD%E8%AF%84%E7%8E%87%3E95%25%EF%BC%8C%E7%8E%B0%E8%B4%A7%E5%BA%93%E5%AD%98%E5%A4%A7%E4%BA%8E50%EF%BC%8C%E9%9D%9E%E5%A4%A9%E7%8C%AB%E4%BD%8E%E4%BB%B7%E7%AB%9E%E4%BA%89%E6%AC%BE%5Cn%20%20%20%20%20%20%20%20month_sold%20%3D%20int(data_row%5B%5C%22month_sold%5C%22%5D)%5Cn%20%20%20%20%20%20%20%20good_rate%20%3D%20float(data_row%5B%5C%22good_rate%5C%22%5D.replace(%5C%22%25%5C%22%2C%20%5C%22%5C%22))%5Cn%20%20%20%20%20%20%20%20stock%20%3D%20int(data_row%5B%5C%22stock%5C%22%5D)%5Cn%20%20%20%20%20%20%20%20is_tmall%20%3D%20data_row%5B%5C%22is_tmall%5C%22%5D%5Cn%5Cn%20%20%20%20%20%20%20%20if%20month_sold%20%3E%20200%20and%20good_rate%20%3E%3D%2095%20and%20stock%20%3E%3D%2050%20and%20not%20is_tmall%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20return%20True%5Cn%20%20%20%20%20%20%20%20return%20False%5Cn%5Cn%20%20%20%20%23%20%E6%89%B9%E9%87%8F%E5%BE%AA%E7%8E%AF%E7%9B%91%E6%8E%A7%E4%B8%BB%E9%80%BB%E8%BE%91%5Cn%20%20%20%20def%20monitor_batch_items(self%2C%20item_id_list%2C%20interval%3D300)%3A%5Cn%20%20%20%20%20%20%20%20%5C%22%5C%22%5C%22%5Cn%20%20%20%20%20%20%20%20%3Aparam%20item_id_list%3A%20%E5%BE%85%E7%9B%91%E6%8E%A7%E5%95%86%E5%93%81ID%E5%88%97%E8%A1%A8%5Cn%20%20%20%20%20%20%20%20%3Aparam%20interval%3A%20%E8%BD%AE%E8%AF%A2%E9%97%B4%E9%9A%94%EF%BC%8C%E5%8D%95%E4%BD%8D%E7%A7%92%EF%BC%8C%E7%A4%BA%E4%BE%8B300%3D5%E5%88%86%E9%92%9F%E9%87%87%E9%9B%86%E4%B8%80%E6%AC%A1%5Cn%20%20%20%20%20%20%20%20%5C%22%5C%22%5C%22%5Cn%20%20%20%20%20%20%20%20print(%5C%22%3D%3D%3D%3D%3D%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81%E7%9B%91%E6%8E%A7%E7%A8%8B%E5%BA%8F%E5%90%AF%E5%8A%A8%3D%3D%3D%3D%3D%5C%22)%5Cn%20%20%20%20%20%20%20%20while%20True%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20for%20item_id%20in%20item_id_list%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20raw%20%3D%20self.get_item_detail(item_id)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20not%20raw%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20continue%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row_data%20%3D%20self.parse_goods_data(raw)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20self.save_to_csv(row_data)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E5%88%A4%E6%96%AD%E6%98%AF%E5%90%A6%E4%B8%BA%E6%BD%9C%E5%8A%9B%E7%88%86%E6%AC%BE%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20self.filter_hot_goods(row_data)%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E3%80%90%E5%8F%91%E7%8E%B0%E6%BD%9C%E5%8A%9B%E7%88%86%E6%AC%BE%E3%80%91%7Brow_data%5B&amp;#39;title&amp;#39;%5D%7D%20%E6%9C%88%E9%94%80%3A%7Brow_data%5B&amp;#39;month_sold&amp;#39;%5D%7D%20%E5%94%AE%E4%BB%B7%3A%7Brow_data%5B&amp;#39;sale_price&amp;#39;%5D%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E5%8D%95%E5%95%86%E5%93%81%E8%AF%B7%E6%B1%82%E9%97%B4%E9%9A%94%EF%BC%8C%E9%98%B2%E6%AD%A2%E6%8E%A5%E5%8F%A3%E8%B0%83%E7%94%A8%E9%A2%91%E7%8E%87%E8%B6%85%E9%99%90%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20time.sleep(2)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E6%9C%AC%E8%BD%AE%E5%95%86%E5%93%81%E9%87%87%E9%9B%86%E5%AE%8C%E6%88%90%EF%BC%8C%E7%AD%89%E5%BE%85%7Binterval%7D%E7%A7%92%E5%90%8E%E4%B8%8B%E4%B8%80%E8%BD%AE%E6%89%AB%E6%8F%8F...%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20time.sleep(interval)%5Cn%5Cnif%20__name__%20%3D%3D%20%5C%22__main__%5C%22%3A%5Cn%20%20%20%20%23%20%E9%9C%80%E8%A6%81%E7%9B%91%E6%8E%A7%E7%9A%84%E5%95%86%E5%93%81ID%E9%9B%86%E5%90%88%EF%BC%8C%E8%87%AA%E8%A1%8C%E6%9B%BF%E6%8D%A2%5Cn%20%20%20%20watch_items%20%3D%20%5B%5Cn%20%20%20%20%20%20%20%20%5C%22723456123456%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%5C%22723456789012%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%5C%22723456987654%5C%22%5Cn%20%20%20%20%5D%5Cn%20%20%20%20monitor%20%3D%20TaobaoItemMonitor()%5Cn%20%20%20%20%23%20%E6%AF%8F5%E5%88%86%E9%92%9F%E8%BD%AE%E8%AF%A2%E4%B8%80%E6%AC%A1%E5%85%A8%E9%83%A8%E5%95%86%E5%93%81%5Cn%20%20%20%20monitor.monitor_batch_items(watch_items%2C%20interval%3D300)%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;import&amp;nbsp;requests
import&amp;nbsp;json
import&amp;nbsp;time
import&amp;nbsp;pandas&amp;nbsp;as&amp;nbsp;pd
from&amp;nbsp;datetime&amp;nbsp;import&amp;nbsp;datetime

#&amp;nbsp;替换成你自己OpenClaw后台的密钥
API_KEY&amp;nbsp;=&amp;nbsp;&amp;quot;你的key&amp;quot;
API_SECRET&amp;nbsp;=&amp;nbsp;&amp;quot;你的secret&amp;quot;
#&amp;nbsp;目标接口地址：淘宝高级商品详情接口&amp;nbsp;item_get_pro
API_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://open.onebound.cn/taobao/item_get_pro&amp;quot;

class&amp;nbsp;TaobaoItemMonitor:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;__init__(self):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.key&amp;nbsp;=&amp;nbsp;API_KEY
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.secret&amp;nbsp;=&amp;nbsp;API_SECRET
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.url&amp;nbsp;=&amp;nbsp;API_URL
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;存储历史数据文件
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.save_file&amp;nbsp;=&amp;nbsp;&amp;quot;taobao_goods_data.csv&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;初始化文件不存在则创建表头
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.init_data_file()

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;init_data_file(self):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pd.read_csv(self.save_file)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;FileNotFoundError:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cols&amp;nbsp;=&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;crawl_time&amp;quot;,&amp;nbsp;&amp;quot;item_id&amp;quot;,&amp;nbsp;&amp;quot;title&amp;quot;,&amp;nbsp;&amp;quot;price&amp;quot;,&amp;nbsp;&amp;quot;sale_price&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;month_sold&amp;quot;,&amp;nbsp;&amp;quot;total_comment&amp;quot;,&amp;nbsp;&amp;quot;good_rate&amp;quot;,&amp;nbsp;&amp;quot;shop_name&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;shop_level&amp;quot;,&amp;nbsp;&amp;quot;is_tmall&amp;quot;,&amp;nbsp;&amp;quot;stock&amp;quot;,&amp;nbsp;&amp;quot;category_id&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df&amp;nbsp;=&amp;nbsp;pd.DataFrame(columns=cols)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df.to_csv(self.save_file,&amp;nbsp;index=False,&amp;nbsp;encoding=&amp;quot;utf-8-sig&amp;quot;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;调用item_get_pro接口获取单商品完整数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;get_item_detail(self,&amp;nbsp;item_id):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;key&amp;quot;:&amp;nbsp;self.key,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;secret&amp;quot;:&amp;nbsp;self.secret,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;api_name&amp;quot;:&amp;nbsp;&amp;quot;item_get_pro&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;item_id&amp;quot;:&amp;nbsp;item_id
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resp&amp;nbsp;=&amp;nbsp;requests.get(self.url,&amp;nbsp;params=params,&amp;nbsp;timeout=15)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;res_json&amp;nbsp;=&amp;nbsp;resp.json()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;res_json.get(&amp;quot;code&amp;quot;)&amp;nbsp;!=&amp;nbsp;0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;商品{item_id}接口请求失败：{res_json.get(&amp;#39;msg&amp;#39;)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;res_json.get(&amp;quot;result&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;Exception&amp;nbsp;as&amp;nbsp;e:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;请求异常&amp;nbsp;item_id:{item_id},&amp;nbsp;错误：{str(e)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;解析接口返回数据，提取选品核心字段
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;parse_goods_data(self,&amp;nbsp;raw_data):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;raw_data:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;{}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_info&amp;nbsp;=&amp;nbsp;raw_data.get(&amp;quot;item&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_info&amp;nbsp;=&amp;nbsp;raw_data.get(&amp;quot;price&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sales_info&amp;nbsp;=&amp;nbsp;raw_data.get(&amp;quot;sales&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;shop_info&amp;nbsp;=&amp;nbsp;raw_data.get(&amp;quot;shop&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;category_info&amp;nbsp;=&amp;nbsp;raw_data.get(&amp;quot;category&amp;quot;,&amp;nbsp;{})

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;crawl_time&amp;quot;:&amp;nbsp;datetime.now().strftime(&amp;quot;%Y-%m-%d&amp;nbsp;%H:%M:%S&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;item_id&amp;quot;:&amp;nbsp;item_info.get(&amp;quot;item_id&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;title&amp;quot;:&amp;nbsp;item_info.get(&amp;quot;title&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;price&amp;quot;:&amp;nbsp;price_info.get(&amp;quot;original_price&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;sale_price&amp;quot;:&amp;nbsp;price_info.get(&amp;quot;current_price&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;month_sold&amp;quot;:&amp;nbsp;sales_info.get(&amp;quot;month_sold&amp;quot;,&amp;nbsp;0),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;total_comment&amp;quot;:&amp;nbsp;sales_info.get(&amp;quot;comment_count&amp;quot;,&amp;nbsp;0),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;good_rate&amp;quot;:&amp;nbsp;sales_info.get(&amp;quot;good_comment_rate&amp;quot;,&amp;nbsp;&amp;quot;0%&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;shop_name&amp;quot;:&amp;nbsp;shop_info.get(&amp;quot;shop_name&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;shop_level&amp;quot;:&amp;nbsp;shop_info.get(&amp;quot;shop_rank&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;is_tmall&amp;quot;:&amp;nbsp;shop_info.get(&amp;quot;is_tmall&amp;quot;,&amp;nbsp;False),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;stock&amp;quot;:&amp;nbsp;item_info.get(&amp;quot;stock_num&amp;quot;,&amp;nbsp;0),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;category_id&amp;quot;:&amp;nbsp;category_info.get(&amp;quot;cid&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;data

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;写入本地CSV存储
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;save_to_csv(self,&amp;nbsp;data_row):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df&amp;nbsp;=&amp;nbsp;pd.DataFrame([data_row])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df.to_csv(self.save_file,&amp;nbsp;mode=&amp;quot;a&amp;quot;,&amp;nbsp;header=False,&amp;nbsp;index=False,&amp;nbsp;encoding=&amp;quot;utf-8-sig&amp;quot;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;爆款筛选规则：自定义蓝海潜力款标准，可自行调整阈值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;filter_hot_goods(self,&amp;nbsp;data_row):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;筛选条件：月销&amp;gt;200，好评率&amp;gt;95%，现货库存大于50，非天猫低价竞争款
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;month_sold&amp;nbsp;=&amp;nbsp;int(data_row[&amp;quot;month_sold&amp;quot;])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;good_rate&amp;nbsp;=&amp;nbsp;float(data_row[&amp;quot;good_rate&amp;quot;].replace(&amp;quot;%&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stock&amp;nbsp;=&amp;nbsp;int(data_row[&amp;quot;stock&amp;quot;])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is_tmall&amp;nbsp;=&amp;nbsp;data_row[&amp;quot;is_tmall&amp;quot;]

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;month_sold&amp;nbsp;&amp;gt;&amp;nbsp;200&amp;nbsp;and&amp;nbsp;good_rate&amp;nbsp;&amp;gt;=&amp;nbsp;95&amp;nbsp;and&amp;nbsp;stock&amp;nbsp;&amp;gt;=&amp;nbsp;50&amp;nbsp;and&amp;nbsp;not&amp;nbsp;is_tmall:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;True
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;False

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;批量循环监控主逻辑
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;monitor_batch_items(self,&amp;nbsp;item_id_list,&amp;nbsp;interval=300):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:param&amp;nbsp;item_id_list:&amp;nbsp;待监控商品ID列表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:param&amp;nbsp;interval:&amp;nbsp;轮询间隔，单位秒，示例300=5分钟采集一次
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;=====淘宝商品监控程序启动=====&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while&amp;nbsp;True:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;item_id&amp;nbsp;in&amp;nbsp;item_id_list:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;raw&amp;nbsp;=&amp;nbsp;self.get_item_detail(item_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;raw:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;row_data&amp;nbsp;=&amp;nbsp;self.parse_goods_data(raw)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.save_to_csv(row_data)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;判断是否为潜力爆款
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;self.filter_hot_goods(row_data):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;【发现潜力爆款】{row_data[&amp;#39;title&amp;#39;]}&amp;nbsp;月销:{row_data[&amp;#39;month_sold&amp;#39;]}&amp;nbsp;售价:{row_data[&amp;#39;sale_price&amp;#39;]}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;单商品请求间隔，防止接口调用频率超限
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(2)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;本轮商品采集完成，等待{interval}秒后下一轮扫描...&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(interval)

if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;需要监控的商品ID集合，自行替换
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;watch_items&amp;nbsp;=&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;723456123456&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;723456789012&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;723456987654&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;monitor&amp;nbsp;=&amp;nbsp;TaobaoItemMonitor()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;每5分钟轮询一次全部商品
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;monitor.monitor_batch_items(watch_items,&amp;nbsp;interval=300)&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;3.2 代码核心逻辑说明&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;鉴权封装&lt;/strong&gt;：统一传入 key、secret，接口自动完成身份校验，无需手动处理签名&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;异常容错&lt;/strong&gt;：增加超时捕获、接口错误码判断，单次商品失败不中断整体监控流程&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;数据持久化&lt;/strong&gt;：采用 utf-8-sig 编码 CSV，Excel 打开不乱码，自动创建存储文件&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;自定义筛选阈值&lt;/strong&gt;：&lt;code&gt;filter_hot_goods&lt;/code&gt;函数可自由修改筛选标准，比如做低价铺货可降低月销门槛，做精品可提升好评率要求&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;防限流机制&lt;/strong&gt;：单商品请求间隔 2 秒，批量轮询间隔可自定义，避免超出接口 QPS 限制&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;四、拓展优化方案（适合长期商用）&lt;/h2&gt;&lt;h3&gt;4.1 异动提醒功能&lt;/h3&gt;&lt;p&gt;现有代码仅控制台打印爆款，可新增推送渠道：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;企业微信机器人 Webhook，监控到价格下跌、销量翻倍时自动推送商品链接&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;smtp 邮件推送，每日汇总当日新增潜力商品报表&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;对接飞书 / 钉钉接口，团队多人同步查看选品数据&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;4.2 数据库替换 CSV 存储&lt;/h3&gt;&lt;p&gt;数据量超过千条后 CSV 查询缓慢，替换 Sqlite 轻量数据库，新增历史数据对比逻辑：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;对比两次采集的&lt;code&gt;month_sold&lt;/code&gt;，识别单日销量暴涨商品&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;对比&lt;code&gt;sale_price&lt;/code&gt;，捕捉竞品大幅降价、清仓活动&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;按类目分组统计，找出近期增长最快的细分赛道&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;4.3 批量类目采集&lt;/h3&gt;&lt;p&gt;搭配搜索类接口，输入类目 cid 批量抓取类目下全部商品 ID，自动扩充监控池，不用手动录入商品，实现全类目自动化蓝海挖掘。&lt;/p&gt;&lt;h2&gt;五、实操踩坑总结（避坑经验）&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;接口调用频率限制&lt;/strong&gt;：免费额度 QPS 较低，批量监控不要设置低于 60 秒的轮询间隔，高频调用会返回超限报错&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;商品 ID 失效&lt;/strong&gt;：商品下架、删除后接口返回空数据，代码已做判断，可新增逻辑自动剔除失效商品&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;价格字段区分&lt;/strong&gt;：&lt;code&gt;original_price&lt;/code&gt;是原价，&lt;code&gt;current_price&lt;/code&gt;是实时活动售价，选品分析务必以实时售价为准&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;数据字段空值处理&lt;/strong&gt;：部分冷门商品无评价、无店铺层级数据，代码内置默认值，不会触发数值转换报错&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;跨境选品适配&lt;/strong&gt;：该接口同时支持淘宝海外、1688 跨境商品，只需切换接口参数，一套监控程序兼顾内销 + 跨境&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;六、写在最后&lt;/h2&gt;&lt;p&gt;很多新手做电商选品，要么依赖付费第三方工具，要么自己写爬虫频繁被封 IP，数据更新滞后还不全。利用标准化开放 API 搭建自有监控系统，一次开发长期使用，数据完全自主可控，筛选规则可以贴合自己的店铺模式自定义，性价比远高于按月付费的选品工具。&lt;/p&gt;&lt;p&gt;这套代码我自己日常一直在用，针对细分家居类目做监控，每天能自动筛选 3-5 个低竞争高转化潜力款，省去大量人工刷页面的时间。大家可以根据自身品类调整筛选阈值、轮询间隔，有拓展推送、数据库改造的需求也可以在评论区交流。&lt;/p&gt;&lt;p&gt;&lt;span data-cke-copybin-end=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Thu, 18 Jun 2026 11:47:33 +0800</pubDate></item><item><title>告别手动盯品！借助 Open Claw 淘宝商品接口，低成本实现自动化选品与实时监控</title><link>https://shopapi.com.cn/?id=179</link><description>&lt;p&gt;&lt;span data-cke-copybin-start=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;做电商、无货源带货、跨境铺货的朋友应该都深有体会，选品和商品监控是日常运营里最耗时的环节。每天手动刷页面、统计销量、盯价格波动、观察竞品动态，不仅效率低下，还很容易错过爆款窗口期。尤其是想要批量筛选潜力商品、长期监控多款竞品时，纯人工操作基本很难兼顾。&lt;/p&gt;&lt;p&gt;今天就给大家分享一套落地性极强的实操方案，借助&lt;strong&gt;Open Claw 淘宝商品接口&lt;/strong&gt;，用简单代码搭建自动化监控选品工具，全程不用复杂爬虫框架，新手也能快速上手。这套方案可以自动抓取商品基础信息、价格、销量、库存等核心数据，搭配定时任务就能实现 7×24 小时监控，帮我们精准筛选潜力款、及时捕捉价格变动与爆款信号。&lt;/p&gt;&lt;h2&gt;一、方案整体思路&lt;/h2&gt;&lt;p&gt;先简单梳理下整体逻辑，方便大家理解后续代码和使用场景：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;接口能力&lt;/strong&gt;：调用淘宝标准商品查询接口，获取单品详情、价格、月销、类目、主图、库存、优惠活动等全维度数据；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;数据筛选&lt;/strong&gt;：根据自定义规则（价格区间、销量阈值、类目、是否包邮等）过滤商品，完成初步选品；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;自动化监控&lt;/strong&gt;：设置定时请求接口，对比前后两次数据，识别价格下调、销量暴涨、库存预警等异动；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;结果输出&lt;/strong&gt;：将筛选后的优质商品、异动商品信息整理输出，用于人工二次判断或直接对接运营流程。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;整个方案优势很明显：接口调用稳定、无需处理页面反爬、数据格式规范，相比传统爬虫，开发和维护成本大幅降低。&lt;/p&gt;&lt;h2&gt;二、前期准备工作&lt;/h2&gt;&lt;p&gt;在写代码之前，先把基础环境和账号配置准备好，这一步是核心前提。&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;获取接口调用权限&lt;/strong&gt; 进入接口完成注册，创建应用后拿到专属 &lt;code&gt;&lt;code&gt;&lt;span aria-label=&quot;a 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_inline cke_widget_csdnlink cke_widget_wrapper_link-info cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;a&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;3&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;link-info cke_widget_editable cke_widget_element&quot; contenteditable=&quot;true&quot; data-cke-enter-mode=&quot;2&quot; data-cke-widget-data=&quot;%7B%22url%22%3A%22https%3A%2F%2Fo0b.cn%2Ficris%22%2C%22text%22%3A%22AppKey%22%2C%22desc%22%3A%22%22%2C%22icon%22%3A%22%22%2C%22isCard%22%3Afalse%2C%22hasResquest%22%3Atrue%2C%22iconDefault%22%3A%22https%3A%2F%2Fcsdnimg.cn%2Frelease%2Fblog_editor_html%2Frelease2.4.6%2Fckeditor%2Fplugins%2FCsdnLink%2Ficons%2Ficon-default.png%3Ft%3DQ239%22%2C%22id%22%3A%22Xb1N3Q-1781581916370%22%2C%22classes%22%3A%7B%22link-info%22%3A1%7D%7D&quot; data-cke-widget-editable=&quot;text&quot; data-cke-widget-keep-attr=&quot;0&quot; data-link-icon=&quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=Q239&quot; data-link-title=&quot;AppKey&quot; data-widget=&quot;csdnlink&quot; href=&quot;https://o0b.cn/icris&quot; title=&quot;AppKey&quot;&gt;&lt;strong&gt;AppKey&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;/code&gt;&lt;/code&gt;、&lt;code&gt;AppSecret&lt;/code&gt; 以及调用地址，这三个参数是调用接口的身份凭证，务必妥善保存。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;运行环境&lt;/strong&gt; 本次教程使用 &lt;strong&gt;Python 3.8+&lt;/strong&gt; 作为开发语言，Python 语法简洁，网络请求和数据处理库成熟，非常适合快速开发这类工具。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;安装依赖库&lt;/strong&gt; 只需要两个常用库，打开终端执行以下命令即可：&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;0&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22%23%20%E7%BD%91%E7%BB%9C%E8%AF%B7%E6%B1%82%E5%BA%93%EF%BC%8C%E7%94%A8%E4%BA%8E%E8%B0%83%E7%94%A8%E6%8E%A5%E5%8F%A3%5Cnpip%20install%20requests%5Cn%23%20%E6%97%B6%E9%97%B4%E5%A4%84%E7%90%86%E5%BA%93%EF%BC%8C%E7%94%A8%E4%BA%8E%E5%AE%9A%E6%97%B6%E7%9B%91%E6%8E%A7%E5%92%8C%E6%97%B6%E9%97%B4%E6%88%B3%E8%BD%AC%E6%8D%A2%5Cnpip%20install%20datetime%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;#&amp;nbsp;网络请求库，用于调用接口
pip&amp;nbsp;install&amp;nbsp;requests
#&amp;nbsp;时间处理库，用于定时监控和时间戳转换
pip&amp;nbsp;install&amp;nbsp;datetime&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;4.明确接口入参&lt;/strong&gt; 本次使用商品详情查询接口，核心入参包含：商品 ID、AppKey、签名、返回字段等，接口支持批量查询和单品精准查询，兼顾批量选品和单品监控两种场景。&lt;/p&gt;&lt;h2&gt;三、核心代码实战（分两大模块）&lt;/h2&gt;&lt;p&gt;下面分 ** 单品数据查询（基础选品）&lt;strong&gt;和&lt;/strong&gt;定时监控（异动提醒）** 两个模块讲解，代码附带详细注释，大家可以直接复制修改使用。&lt;/p&gt;&lt;h3&gt;模块 1：单品 / 批量商品数据抓取 &amp;amp; 智能选品&lt;/h3&gt;&lt;p&gt;该模块主要用于&lt;strong&gt;批量筛选潜力商品&lt;/strong&gt;，自定义筛选规则（销量、价格、类目），从海量商品中快速过滤出符合要求的款。&lt;/p&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;1&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22import%20requests%5Cnimport%20json%5Cn%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20%E5%9F%BA%E7%A1%80%E9%85%8D%E7%BD%AE%20%E8%AF%B7%E8%87%AA%E8%A1%8C%E4%BF%AE%E6%94%B9%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%23%20%E6%8E%A5%E5%8F%A3%E8%AF%B7%E6%B1%82%E5%9C%B0%E5%9D%80%EF%BC%88%E5%B9%B3%E5%8F%B0%E6%8F%90%E4%BE%9B%E7%9A%84%E6%A0%87%E5%87%86%E6%8E%A5%E5%8F%A3%E5%9C%B0%E5%9D%80%EF%BC%89%5CnAPI_URL%20%3D%20%5C%22https%3A%2F%2Fopen.onebound.cn%2Ftaobao%2Fitem_get_pro%5C%22%5Cn%23%20%E4%BD%A0%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%AF%86%E9%92%A5%E4%BF%A1%E6%81%AF%EF%BC%88%E6%B3%A8%E5%86%8C%E5%BA%94%E7%94%A8%E5%90%8E%E8%8E%B7%E5%8F%96%EF%BC%89%5CnAPP_KEY%20%3D%20%5C%22%E4%BD%A0%E7%9A%84AppKey%5C%22%5CnAPP_SECRET%20%3D%20%5C%22%E4%BD%A0%E7%9A%84AppSecret%5C%22%5Cn%23%20%E5%BE%85%E6%9F%A5%E8%AF%A2%E7%9A%84%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81ID%E5%88%97%E8%A1%A8%EF%BC%8C%E5%8F%AF%E6%89%B9%E9%87%8F%E6%B7%BB%E5%8A%A0%E5%A4%9A%E4%B8%AA%E5%95%86%E5%93%81ID%5CnITEM_ID_LIST%20%3D%20%5B%5C%2268xxxxxxxxx%5C%22%2C%20%5C%2272xxxxxxxxx%5C%22%2C%20%5C%2269xxxxxxxxx%5C%22%5D%5Cn%23%20%E8%87%AA%E5%AE%9A%E4%B9%89%E9%80%89%E5%93%81%E8%A7%84%E5%88%99%EF%BC%88%E6%A0%B9%E6%8D%AE%E8%87%AA%E8%BA%AB%E4%B8%9A%E5%8A%A1%E8%B0%83%E6%95%B4%EF%BC%89%5CnMIN_SALE%20%3D%20100%20%20%23%20%E6%9C%80%E4%BD%8E%E6%9C%88%E9%94%80%E9%87%8F%5CnPRICE_MIN%20%3D%2029.9%20%20%23%20%E6%9C%80%E4%BD%8E%E5%94%AE%E4%BB%B7%5CnPRICE_MAX%20%3D%20199.9%20%20%23%20%E6%9C%80%E9%AB%98%E5%94%AE%E4%BB%B7%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%5Cndef%20get_taobao_item_info(item_id)%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%5Cn%20%20%20%20%E8%B0%83%E7%94%A8%E6%8E%A5%E5%8F%A3%E8%8E%B7%E5%8F%96%E5%8D%95%E4%B8%AA%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81%E5%AE%8C%E6%95%B4%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%3Aparam%20item_id%3A%20%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81ID%5Cn%20%20%20%20%3Areturn%3A%20%E5%95%86%E5%93%81%E5%AD%97%E5%85%B8%E6%95%B0%E6%8D%AE%20%2F%20None%EF%BC%88%E8%AF%B7%E6%B1%82%E5%A4%B1%E8%B4%A5%EF%BC%89%5Cn%20%20%20%20%5C%22%5C%22%5C%22%5Cn%20%20%20%20%23%20%E7%BB%84%E8%A3%85%E6%8E%A5%E5%8F%A3%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%5Cn%20%20%20%20params%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%5C%22appkey%5C%22%3A%20APP_KEY%2C%5Cn%20%20%20%20%20%20%20%20%5C%22secret%5C%22%3A%20APP_SECRET%2C%5Cn%20%20%20%20%20%20%20%20%5C%22num_iid%5C%22%3A%20item_id%2C%20%20%23%20%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81ID%5Cn%20%20%20%20%20%20%20%20%5C%22format%5C%22%3A%20%5C%22json%5C%22%2C%20%20%23%20%E8%BF%94%E5%9B%9E%E6%95%B0%E6%8D%AE%E6%A0%BC%E5%BC%8F%EF%BC%9Ajson%5Cn%20%20%20%20%7D%5Cn%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20%23%20%E5%8F%91%E8%B5%B7GET%E8%AF%B7%E6%B1%82%E8%B0%83%E7%94%A8%E6%8E%A5%E5%8F%A3%5Cn%20%20%20%20%20%20%20%20response%20%3D%20requests.get(url%3DAPI_URL%2C%20params%3Dparams%2C%20timeout%3D10)%5Cn%20%20%20%20%20%20%20%20%23%20%E8%A7%A3%E6%9E%90JSON%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%20%20%20%20res_data%20%3D%20json.loads(response.text)%5Cn%20%20%20%20%20%20%20%20%23%20%E5%88%A4%E6%96%AD%E6%8E%A5%E5%8F%A3%E8%BF%94%E5%9B%9E%E7%8A%B6%E6%80%81%5Cn%20%20%20%20%20%20%20%20if%20res_data.get(%5C%22code%5C%22)%20!%3D%200%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E5%95%86%E5%93%81%7Bitem_id%7D%20%E8%AF%B7%E6%B1%82%E5%A4%B1%E8%B4%A5%EF%BC%9A%7Bres_data.get(&amp;#39;msg&amp;#39;)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20return%20None%5Cn%20%20%20%20%20%20%20%20%23%20%E6%8F%90%E5%8F%96%E6%A0%B8%E5%BF%83%E5%95%86%E5%93%81%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%20%20%20%20item_data%20%3D%20res_data.get(%5C%22data%5C%22%2C%20%7B%7D)%5Cn%20%20%20%20%20%20%20%20item_info%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%95%86%E5%93%81ID%5C%22%3A%20item_id%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%95%86%E5%93%81%E6%A0%87%E9%A2%98%5C%22%3A%20item_data.get(%5C%22title%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%94%AE%E4%BB%B7%5C%22%3A%20float(item_data.get(%5C%22price%5C%22%2C%200))%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%8E%9F%E4%BB%B7%5C%22%3A%20float(item_data.get(%5C%22original_price%5C%22%2C%200))%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E6%9C%88%E9%94%80%E9%87%8F%5C%22%3A%20int(item_data.get(%5C%22sales%5C%22%2C%200))%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%BA%93%E5%AD%98%5C%22%3A%20int(item_data.get(%5C%22stock%5C%22%2C%200))%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E7%B1%BB%E7%9B%AE%5C%22%3A%20item_data.get(%5C%22category%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E6%98%AF%E5%90%A6%E5%8C%85%E9%82%AE%5C%22%3A%20item_data.get(%5C%22free_shipping%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%95%86%E5%93%81%E9%93%BE%E6%8E%A5%5C%22%3A%20item_data.get(%5C%22item_url%5C%22)%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%20%20return%20item_info%5Cn%20%20%20%20except%20Exception%20as%20e%3A%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E5%95%86%E5%93%81%7Bitem_id%7D%20%E6%8E%A5%E5%8F%A3%E8%AF%B7%E6%B1%82%E5%BC%82%E5%B8%B8%EF%BC%9A%7Bstr(e)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20return%20None%5Cn%5Cndef%20filter_good_products()%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E6%A0%B9%E6%8D%AE%E8%87%AA%E5%AE%9A%E4%B9%89%E8%A7%84%E5%88%99%E7%AD%9B%E9%80%89%E4%BC%98%E8%B4%A8%E5%95%86%E5%93%81%EF%BC%88%E9%80%89%E5%93%81%E6%A0%B8%E5%BF%83%E9%80%BB%E8%BE%91%EF%BC%89%5C%22%5C%22%5C%22%5Cn%20%20%20%20print(%5C%22%3D%3D%3D%3D%3D%20%E5%BC%80%E5%A7%8B%E6%89%B9%E9%87%8F%E9%80%89%E5%93%81%E7%AD%9B%E9%80%89%20%3D%3D%3D%3D%3D%5C%22)%5Cn%20%20%20%20qualified_list%20%3D%20%5B%5D%5Cn%20%20%20%20for%20item_id%20in%20ITEM_ID_LIST%3A%5Cn%20%20%20%20%20%20%20%20item%20%3D%20get_taobao_item_info(item_id)%5Cn%20%20%20%20%20%20%20%20if%20not%20item%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20continue%5Cn%20%20%20%20%20%20%20%20%23%20%E6%89%A7%E8%A1%8C%E7%AD%9B%E9%80%89%E8%A7%84%E5%88%99%EF%BC%9A%E4%BB%B7%E6%A0%BC%E5%8C%BA%E9%97%B4%20%2B%20%E6%9C%80%E4%BD%8E%E9%94%80%E9%87%8F%5Cn%20%20%20%20%20%20%20%20if%20(PRICE_MIN%20%3C%3D%20item%5B%5C%22%E5%94%AE%E4%BB%B7%5C%22%5D%20%3C%3D%20PRICE_MAX)%20and%20(item%5B%5C%22%E6%9C%88%E9%94%80%E9%87%8F%5C%22%5D%20%3E%3D%20MIN_SALE)%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20qualified_list.append(item)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E2%9C%85%20%E7%AC%A6%E5%90%88%E8%A6%81%E6%B1%82%E5%95%86%E5%93%81%EF%BC%9A%7Bitem%5B&amp;#39;%E5%95%86%E5%93%81%E6%A0%87%E9%A2%98&amp;#39;%5D%7D%20%7C%20%E5%94%AE%E4%BB%B7%EF%BC%9A%7Bitem%5B&amp;#39;%E5%94%AE%E4%BB%B7&amp;#39;%5D%7D%20%7C%20%E6%9C%88%E9%94%80%EF%BC%9A%7Bitem%5B&amp;#39;%E6%9C%88%E9%94%80%E9%87%8F&amp;#39;%5D%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20else%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E2%9D%8C%20%E6%B7%98%E6%B1%B0%E5%95%86%E5%93%81%EF%BC%9A%7Bitem%5B&amp;#39;%E5%95%86%E5%93%81%E6%A0%87%E9%A2%98&amp;#39;%5D%7D%20%E4%B8%8D%E6%BB%A1%E8%B6%B3%E7%AD%9B%E9%80%89%E6%9D%A1%E4%BB%B6%5C%22)%5Cn%20%20%20%20print(f%5C%22%5C%5Cn%3D%3D%3D%3D%3D%20%E7%AD%9B%E9%80%89%E5%AE%8C%E6%88%90%EF%BC%8C%E5%85%B1%E6%89%BE%E5%88%B0%20%7Blen(qualified_list)%7D%20%E6%AC%BE%E6%BD%9C%E5%8A%9B%E5%95%86%E5%93%81%20%3D%3D%3D%3D%3D%5C%22)%5Cn%20%20%20%20%23%20%E8%BE%93%E5%87%BA%E6%9C%80%E7%BB%88%E9%80%89%E5%93%81%E7%BB%93%E6%9E%9C%5Cn%20%20%20%20for%20good%20in%20qualified_list%3A%5Cn%20%20%20%20%20%20%20%20print(json.dumps(good%2C%20ensure_ascii%3DFalse%2C%20indent%3D2))%5Cn%20%20%20%20return%20qualified_list%5Cn%5Cn%23%20%E6%89%A7%E8%A1%8C%E9%80%89%E5%93%81%E5%8A%9F%E8%83%BD%5Cnif%20__name__%20%3D%3D%20%5C%22__main__%5C%22%3A%5Cn%20%20%20%20filter_good_products()%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;import&amp;nbsp;requests
import&amp;nbsp;json

#&amp;nbsp;====================&amp;nbsp;基础配置&amp;nbsp;请自行修改&amp;nbsp;====================
#&amp;nbsp;接口请求地址（平台提供的标准接口地址）
API_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://open.onebound.cn/taobao/item_get_pro&amp;quot;
#&amp;nbsp;你的个人密钥信息（注册应用后获取）
APP_KEY&amp;nbsp;=&amp;nbsp;&amp;quot;你的AppKey&amp;quot;
APP_SECRET&amp;nbsp;=&amp;nbsp;&amp;quot;你的AppSecret&amp;quot;
#&amp;nbsp;待查询的淘宝商品ID列表，可批量添加多个商品ID
ITEM_ID_LIST&amp;nbsp;=&amp;nbsp;[&amp;quot;68xxxxxxxxx&amp;quot;,&amp;nbsp;&amp;quot;72xxxxxxxxx&amp;quot;,&amp;nbsp;&amp;quot;69xxxxxxxxx&amp;quot;]
#&amp;nbsp;自定义选品规则（根据自身业务调整）
MIN_SALE&amp;nbsp;=&amp;nbsp;100&amp;nbsp;&amp;nbsp;#&amp;nbsp;最低月销量
PRICE_MIN&amp;nbsp;=&amp;nbsp;29.9&amp;nbsp;&amp;nbsp;#&amp;nbsp;最低售价
PRICE_MAX&amp;nbsp;=&amp;nbsp;199.9&amp;nbsp;&amp;nbsp;#&amp;nbsp;最高售价
#&amp;nbsp;==========================================================

def&amp;nbsp;get_taobao_item_info(item_id):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;调用接口获取单个淘宝商品完整数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:param&amp;nbsp;item_id:&amp;nbsp;淘宝商品ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:return:&amp;nbsp;商品字典数据&amp;nbsp;/&amp;nbsp;None（请求失败）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;组装接口请求参数
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;appkey&amp;quot;:&amp;nbsp;APP_KEY,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;secret&amp;quot;:&amp;nbsp;APP_SECRET,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;num_iid&amp;quot;:&amp;nbsp;item_id,&amp;nbsp;&amp;nbsp;#&amp;nbsp;淘宝商品ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;format&amp;quot;:&amp;nbsp;&amp;quot;json&amp;quot;,&amp;nbsp;&amp;nbsp;#&amp;nbsp;返回数据格式：json
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;发起GET请求调用接口
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;requests.get(url=API_URL,&amp;nbsp;params=params,&amp;nbsp;timeout=10)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;解析JSON数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;res_data&amp;nbsp;=&amp;nbsp;json.loads(response.text)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;判断接口返回状态
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;res_data.get(&amp;quot;code&amp;quot;)&amp;nbsp;!=&amp;nbsp;0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;商品{item_id}&amp;nbsp;请求失败：{res_data.get(&amp;#39;msg&amp;#39;)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;提取核心商品数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_data&amp;nbsp;=&amp;nbsp;res_data.get(&amp;quot;data&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_info&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;商品ID&amp;quot;:&amp;nbsp;item_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;商品标题&amp;quot;:&amp;nbsp;item_data.get(&amp;quot;title&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;售价&amp;quot;:&amp;nbsp;float(item_data.get(&amp;quot;price&amp;quot;,&amp;nbsp;0)),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;原价&amp;quot;:&amp;nbsp;float(item_data.get(&amp;quot;original_price&amp;quot;,&amp;nbsp;0)),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;月销量&amp;quot;:&amp;nbsp;int(item_data.get(&amp;quot;sales&amp;quot;,&amp;nbsp;0)),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;库存&amp;quot;:&amp;nbsp;int(item_data.get(&amp;quot;stock&amp;quot;,&amp;nbsp;0)),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;类目&amp;quot;:&amp;nbsp;item_data.get(&amp;quot;category&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;是否包邮&amp;quot;:&amp;nbsp;item_data.get(&amp;quot;free_shipping&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;商品链接&amp;quot;:&amp;nbsp;item_data.get(&amp;quot;item_url&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;item_info
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;Exception&amp;nbsp;as&amp;nbsp;e:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;商品{item_id}&amp;nbsp;接口请求异常：{str(e)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None

def&amp;nbsp;filter_good_products():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;根据自定义规则筛选优质商品（选品核心逻辑）&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;=====&amp;nbsp;开始批量选品筛选&amp;nbsp;=====&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;qualified_list&amp;nbsp;=&amp;nbsp;[]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;item_id&amp;nbsp;in&amp;nbsp;ITEM_ID_LIST:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item&amp;nbsp;=&amp;nbsp;get_taobao_item_info(item_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;item:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;执行筛选规则：价格区间&amp;nbsp;+&amp;nbsp;最低销量
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(PRICE_MIN&amp;nbsp;&amp;lt;=&amp;nbsp;item[&amp;quot;售价&amp;quot;]&amp;nbsp;&amp;lt;=&amp;nbsp;PRICE_MAX)&amp;nbsp;and&amp;nbsp;(item[&amp;quot;月销量&amp;quot;]&amp;nbsp;&amp;gt;=&amp;nbsp;MIN_SALE):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;qualified_list.append(item)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;✅&amp;nbsp;符合要求商品：{item[&amp;#39;商品标题&amp;#39;]}&amp;nbsp;|&amp;nbsp;售价：{item[&amp;#39;售价&amp;#39;]}&amp;nbsp;|&amp;nbsp;月销：{item[&amp;#39;月销量&amp;#39;]}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;❌&amp;nbsp;淘汰商品：{item[&amp;#39;商品标题&amp;#39;]}&amp;nbsp;不满足筛选条件&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;\n=====&amp;nbsp;筛选完成，共找到&amp;nbsp;{len(qualified_list)}&amp;nbsp;款潜力商品&amp;nbsp;=====&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;输出最终选品结果
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;good&amp;nbsp;in&amp;nbsp;qualified_list:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(json.dumps(good,&amp;nbsp;ensure_ascii=False,&amp;nbsp;indent=2))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;qualified_list

#&amp;nbsp;执行选品功能
if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;filter_good_products()&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h4&gt;代码使用说明：&lt;/h4&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;把 &lt;code&gt;APP_KEY&lt;/code&gt;、&lt;code&gt;APP_SECRET&lt;/code&gt; 替换成你在平台申请的密钥；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;在 &lt;code&gt;ITEM_ID_LIST&lt;/code&gt; 中填入需要筛选的淘宝商品 ID，支持批量写入；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;修改&lt;code&gt;MIN_SALE&lt;/code&gt;、&lt;code&gt;PRICE_MIN&lt;/code&gt;、&lt;code&gt;PRICE_MAX&lt;/code&gt; 调整你的选品标准，比如做低价走量款就调低价格区间，做中高端款就上调价格；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;直接运行代码，程序会自动过滤商品，标记出符合条件的潜力款。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;模块 2：定时自动化监控（价格 / 销量异动提醒）&lt;/h3&gt;&lt;p&gt;选品完成后，我们需要对重点商品进行长期监控，比如监控竞品降价、爆款销量突然暴涨、库存清空等情况。这里结合&lt;strong&gt;循环延时&lt;/strong&gt;实现简易定时监控，也可以搭配 &lt;code&gt;APScheduler&lt;/code&gt; 框架实现更精准的定时任务。&lt;/p&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;2&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22import%20time%5Cnfrom%20module1%20import%20get_taobao_item_info%20%20%23%20%E5%BC%95%E7%94%A8%E4%B8%8A%E6%96%B9%E5%95%86%E5%93%81%E6%9F%A5%E8%AF%A2%E5%87%BD%E6%95%B0%5Cn%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20%E7%9B%91%E6%8E%A7%E9%85%8D%E7%BD%AE%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%23%20%E9%9C%80%E8%A6%81%E9%95%BF%E6%9C%9F%E7%9B%91%E6%8E%A7%E7%9A%84%E5%95%86%E5%93%81ID%5CnMONITOR_ITEM_IDS%20%3D%20%5B%5C%2268xxxxxxxxx%5C%22%2C%20%5C%2272xxxxxxxxx%5C%22%5D%5Cn%23%20%E7%9B%91%E6%8E%A7%E9%97%B4%E9%9A%94%EF%BC%88%E5%8D%95%E4%BD%8D%EF%BC%9A%E7%A7%92%EF%BC%8C%E8%BF%99%E9%87%8C%E8%AE%BE%E7%BD%AE5%E5%88%86%E9%92%9F%E7%9B%91%E6%8E%A7%E4%B8%80%E6%AC%A1%EF%BC%8C%E5%8F%AF%E8%87%AA%E8%A1%8C%E8%B0%83%E6%95%B4%EF%BC%89%5CnMONITOR_INTERVAL%20%3D%20300%5Cn%23%20%E5%BC%82%E5%8A%A8%E9%98%88%E5%80%BC%EF%BC%9A%E4%BB%B7%E6%A0%BC%E5%8F%98%E5%8A%A8%E8%B6%85%E8%BF%87%E8%AF%A5%E6%95%B0%E5%80%BC%E5%88%99%E6%8F%90%E9%86%92%EF%BC%8C%E9%94%80%E9%87%8F%E5%8F%98%E5%8A%A8%E8%B6%85%E8%BF%87%E8%AF%A5%E6%95%B0%E5%80%BC%E5%88%99%E6%8F%90%E9%86%92%5CnPRICE_CHANGE_THRESHOLD%20%3D%205.0%5CnSALE_CHANGE_THRESHOLD%20%3D%2050%5Cn%23%20%E5%AD%98%E5%82%A8%E4%B8%8A%E4%B8%80%E6%AC%A1%E7%9A%84%E5%95%86%E5%93%81%E6%95%B0%E6%8D%AE%EF%BC%88%E7%94%A8%E4%BA%8E%E5%AF%B9%E6%AF%94%E5%BC%82%E5%8A%A8%EF%BC%89%5Cnlast_item_data%20%3D%20%7B%7D%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%5Cndef%20monitor_item_change()%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E7%9B%91%E6%8E%A7%E5%95%86%E5%93%81%E4%BB%B7%E6%A0%BC%E3%80%81%E9%94%80%E9%87%8F%E5%BC%82%E5%8A%A8%EF%BC%8C%E8%A7%A6%E5%8F%91%E5%88%99%E5%8F%91%E5%87%BA%E6%8F%90%E9%86%92%5C%22%5C%22%5C%22%5Cn%20%20%20%20global%20last_item_data%5Cn%20%20%20%20print(f%5C%22%5C%5Cn%E3%80%90%7Btime.strftime(&amp;#39;%25Y-%25m-%25d%20%25H%3A%25M%3A%25S&amp;#39;)%7D%E3%80%91%E6%89%A7%E8%A1%8C%E4%B8%80%E8%BD%AE%E5%95%86%E5%93%81%E7%9B%91%E6%8E%A7%5C%22)%5Cn%20%20%20%20for%20item_id%20in%20MONITOR_ITEM_IDS%3A%5Cn%20%20%20%20%20%20%20%20current_data%20%3D%20get_taobao_item_info(item_id)%5Cn%20%20%20%20%20%20%20%20if%20not%20current_data%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20continue%5Cn%20%20%20%20%20%20%20%20%23%20%E9%A6%96%E6%AC%A1%E7%9B%91%E6%8E%A7%EF%BC%8C%E5%88%9D%E5%A7%8B%E5%8C%96%E5%8E%86%E5%8F%B2%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%20%20%20%20if%20item_id%20not%20in%20last_item_data%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20last_item_data%5Bitem_id%5D%20%3D%20current_data%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%F0%9F%93%8C%20%E9%A6%96%E6%AC%A1%E8%AE%B0%E5%BD%95%E5%95%86%E5%93%81%20%7Bcurrent_data%5B&amp;#39;%E5%95%86%E5%93%81%E6%A0%87%E9%A2%98&amp;#39;%5D%7D%20%E5%9F%BA%E7%A1%80%E6%95%B0%E6%8D%AE%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20continue%5Cn%20%20%20%20%20%20%20%20%5Cn%20%20%20%20%20%20%20%20%23%20%E5%AF%B9%E6%AF%94%E5%BD%93%E5%89%8D%E6%95%B0%E6%8D%AE%E4%B8%8E%E5%8E%86%E5%8F%B2%E6%95%B0%E6%8D%AE%EF%BC%8C%E5%88%A4%E6%96%AD%E5%BC%82%E5%8A%A8%5Cn%20%20%20%20%20%20%20%20old_data%20%3D%20last_item_data%5Bitem_id%5D%5Cn%20%20%20%20%20%20%20%20price_diff%20%3D%20abs(current_data%5B%5C%22%E5%94%AE%E4%BB%B7%5C%22%5D%20-%20old_data%5B%5C%22%E5%94%AE%E4%BB%B7%5C%22%5D)%5Cn%20%20%20%20%20%20%20%20sale_diff%20%3D%20current_data%5B%5C%22%E6%9C%88%E9%94%80%E9%87%8F%5C%22%5D%20-%20old_data%5B%5C%22%E6%9C%88%E9%94%80%E9%87%8F%5C%22%5D%5Cn%5Cn%20%20%20%20%20%20%20%20%23%20%E4%BB%B7%E6%A0%BC%E5%BC%82%E5%8A%A8%E6%8F%90%E9%86%92%5Cn%20%20%20%20%20%20%20%20if%20price_diff%20%3E%3D%20PRICE_CHANGE_THRESHOLD%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%F0%9F%94%B4%20%E4%BB%B7%E6%A0%BC%E5%BC%82%E5%8A%A8%E9%A2%84%E8%AD%A6%EF%BC%81%E5%95%86%E5%93%81%EF%BC%9A%7Bcurrent_data%5B&amp;#39;%E5%95%86%E5%93%81%E6%A0%87%E9%A2%98&amp;#39;%5D%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E5%8E%9F%E5%94%AE%E4%BB%B7%EF%BC%9A%7Bold_data%5B&amp;#39;%E5%94%AE%E4%BB%B7&amp;#39;%5D%7D%20%E5%85%83%20%7C%20%E7%8E%B0%E5%94%AE%E4%BB%B7%EF%BC%9A%7Bcurrent_data%5B&amp;#39;%E5%94%AE%E4%BB%B7&amp;#39;%5D%7D%20%E5%85%83%20%7C%20%E5%B7%AE%E4%BB%B7%EF%BC%9A%7Bprice_diff%7D%20%E5%85%83%5C%22)%5Cn%20%20%20%20%20%20%20%20%5Cn%20%20%20%20%20%20%20%20%23%20%E9%94%80%E9%87%8F%E5%BC%82%E5%8A%A8%E6%8F%90%E9%86%92%EF%BC%88%E9%94%80%E9%87%8F%E6%9A%B4%E6%B6%A8%E5%A4%A7%E6%A6%82%E7%8E%87%E6%98%AF%E8%B5%B7%E7%88%86%E6%AC%BE%EF%BC%89%5Cn%20%20%20%20%20%20%20%20if%20sale_diff%20%3E%3D%20SALE_CHANGE_THRESHOLD%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%F0%9F%9F%A1%20%E9%94%80%E9%87%8F%E6%9A%B4%E6%B6%A8%E9%A2%84%E8%AD%A6%EF%BC%81%E5%95%86%E5%93%81%EF%BC%9A%7Bcurrent_data%5B&amp;#39;%E5%95%86%E5%93%81%E6%A0%87%E9%A2%98&amp;#39;%5D%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E5%8E%9F%E6%9C%88%E9%94%80%EF%BC%9A%7Bold_data%5B&amp;#39;%E6%9C%88%E9%94%80%E9%87%8F&amp;#39;%5D%7D%20%7C%20%E7%8E%B0%E6%9C%88%E9%94%80%EF%BC%9A%7Bcurrent_data%5B&amp;#39;%E6%9C%88%E9%94%80%E9%87%8F&amp;#39;%5D%7D%20%7C%20%E6%96%B0%E5%A2%9E%E9%94%80%E9%87%8F%EF%BC%9A%7Bsale_diff%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20%5Cn%20%20%20%20%20%20%20%20%23%20%E5%BA%93%E5%AD%98%E9%A2%84%E8%AD%A6%5Cn%20%20%20%20%20%20%20%20if%20current_data%5B%5C%22%E5%BA%93%E5%AD%98%5C%22%5D%20%3C%2020%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%F0%9F%9F%A0%20%E5%BA%93%E5%AD%98%E9%A2%84%E8%AD%A6%EF%BC%81%E5%95%86%E5%93%81%20%7Bcurrent_data%5B&amp;#39;%E5%95%86%E5%93%81%E6%A0%87%E9%A2%98&amp;#39;%5D%7D%20%E5%89%A9%E4%BD%99%E5%BA%93%E5%AD%98%EF%BC%9A%7Bcurrent_data%5B&amp;#39;%E5%BA%93%E5%AD%98&amp;#39;%5D%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20%5Cn%20%20%20%20%20%20%20%20%23%20%E6%9B%B4%E6%96%B0%E5%8E%86%E5%8F%B2%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%20%20%20%20last_item_data%5Bitem_id%5D%20%3D%20current_data%5Cn%5Cndef%20run_cycle_monitor()%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E5%BE%AA%E7%8E%AF%E5%AE%9A%E6%97%B6%E7%9B%91%E6%8E%A7%E4%B8%BB%E7%A8%8B%E5%BA%8F%5C%22%5C%22%5C%22%5Cn%20%20%20%20print(%5C%22%3D%3D%3D%3D%3D%20%E8%87%AA%E5%8A%A8%E5%8C%96%E5%95%86%E5%93%81%E7%9B%91%E6%8E%A7%E5%B7%B2%E5%90%AF%E5%8A%A8%EF%BC%8C%E6%8C%89%20Ctrl%2BC%20%E7%BB%88%E6%AD%A2%E7%A8%8B%E5%BA%8F%20%3D%3D%3D%3D%3D%5C%22)%5Cn%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20while%20True%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20monitor_item_change()%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E7%AD%89%E5%BE%85%E6%8C%87%E5%AE%9A%E6%97%B6%E9%97%B4%E5%90%8E%E6%89%A7%E8%A1%8C%E4%B8%8B%E4%B8%80%E8%BD%AE%E7%9B%91%E6%8E%A7%5Cn%20%20%20%20%20%20%20%20%20%20%20%20time.sleep(MONITOR_INTERVAL)%5Cn%20%20%20%20except%20KeyboardInterrupt%3A%5Cn%20%20%20%20%20%20%20%20print(%5C%22%5C%5Cn%3D%3D%3D%3D%3D%20%E7%9B%91%E6%8E%A7%E7%A8%8B%E5%BA%8F%E5%B7%B2%E6%89%8B%E5%8A%A8%E7%BB%88%E6%AD%A2%20%3D%3D%3D%3D%3D%5C%22)%5Cn%5Cn%23%20%E6%89%A7%E8%A1%8C%E7%9B%91%E6%8E%A7%E7%A8%8B%E5%BA%8F%5Cnif%20__name__%20%3D%3D%20%5C%22__main__%5C%22%3A%5Cn%20%20%20%20run_cycle_monitor()%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;import&amp;nbsp;time
from&amp;nbsp;module1&amp;nbsp;import&amp;nbsp;get_taobao_item_info&amp;nbsp;&amp;nbsp;#&amp;nbsp;引用上方商品查询函数

#&amp;nbsp;====================&amp;nbsp;监控配置&amp;nbsp;====================
#&amp;nbsp;需要长期监控的商品ID
MONITOR_ITEM_IDS&amp;nbsp;=&amp;nbsp;[&amp;quot;68xxxxxxxxx&amp;quot;,&amp;nbsp;&amp;quot;72xxxxxxxxx&amp;quot;]
#&amp;nbsp;监控间隔（单位：秒，这里设置5分钟监控一次，可自行调整）
MONITOR_INTERVAL&amp;nbsp;=&amp;nbsp;300
#&amp;nbsp;异动阈值：价格变动超过该数值则提醒，销量变动超过该数值则提醒
PRICE_CHANGE_THRESHOLD&amp;nbsp;=&amp;nbsp;5.0
SALE_CHANGE_THRESHOLD&amp;nbsp;=&amp;nbsp;50
#&amp;nbsp;存储上一次的商品数据（用于对比异动）
last_item_data&amp;nbsp;=&amp;nbsp;{}
#&amp;nbsp;==================================================

def&amp;nbsp;monitor_item_change():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;监控商品价格、销量异动，触发则发出提醒&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;global&amp;nbsp;last_item_data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;\n【{time.strftime(&amp;#39;%Y-%m-%d&amp;nbsp;%H:%M:%S&amp;#39;)}】执行一轮商品监控&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;item_id&amp;nbsp;in&amp;nbsp;MONITOR_ITEM_IDS:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_data&amp;nbsp;=&amp;nbsp;get_taobao_item_info(item_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;current_data:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;首次监控，初始化历史数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;item_id&amp;nbsp;not&amp;nbsp;in&amp;nbsp;last_item_data:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;last_item_data[item_id]&amp;nbsp;=&amp;nbsp;current_data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;📌&amp;nbsp;首次记录商品&amp;nbsp;{current_data[&amp;#39;商品标题&amp;#39;]}&amp;nbsp;基础数据&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;对比当前数据与历史数据，判断异动
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;old_data&amp;nbsp;=&amp;nbsp;last_item_data[item_id]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_diff&amp;nbsp;=&amp;nbsp;abs(current_data[&amp;quot;售价&amp;quot;]&amp;nbsp;-&amp;nbsp;old_data[&amp;quot;售价&amp;quot;])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sale_diff&amp;nbsp;=&amp;nbsp;current_data[&amp;quot;月销量&amp;quot;]&amp;nbsp;-&amp;nbsp;old_data[&amp;quot;月销量&amp;quot;]

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;价格异动提醒
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;price_diff&amp;nbsp;&amp;gt;=&amp;nbsp;PRICE_CHANGE_THRESHOLD:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;🔴&amp;nbsp;价格异动预警！商品：{current_data[&amp;#39;商品标题&amp;#39;]}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;原售价：{old_data[&amp;#39;售价&amp;#39;]}&amp;nbsp;元&amp;nbsp;|&amp;nbsp;现售价：{current_data[&amp;#39;售价&amp;#39;]}&amp;nbsp;元&amp;nbsp;|&amp;nbsp;差价：{price_diff}&amp;nbsp;元&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;销量异动提醒（销量暴涨大概率是起爆款）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;sale_diff&amp;nbsp;&amp;gt;=&amp;nbsp;SALE_CHANGE_THRESHOLD:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;🟡&amp;nbsp;销量暴涨预警！商品：{current_data[&amp;#39;商品标题&amp;#39;]}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;原月销：{old_data[&amp;#39;月销量&amp;#39;]}&amp;nbsp;|&amp;nbsp;现月销：{current_data[&amp;#39;月销量&amp;#39;]}&amp;nbsp;|&amp;nbsp;新增销量：{sale_diff}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;库存预警
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;current_data[&amp;quot;库存&amp;quot;]&amp;nbsp;&amp;lt;&amp;nbsp;20:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;🟠&amp;nbsp;库存预警！商品&amp;nbsp;{current_data[&amp;#39;商品标题&amp;#39;]}&amp;nbsp;剩余库存：{current_data[&amp;#39;库存&amp;#39;]}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;更新历史数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;last_item_data[item_id]&amp;nbsp;=&amp;nbsp;current_data

def&amp;nbsp;run_cycle_monitor():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;循环定时监控主程序&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;=====&amp;nbsp;自动化商品监控已启动，按&amp;nbsp;Ctrl+C&amp;nbsp;终止程序&amp;nbsp;=====&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while&amp;nbsp;True:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;monitor_item_change()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;等待指定时间后执行下一轮监控
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(MONITOR_INTERVAL)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;KeyboardInterrupt:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;\n=====&amp;nbsp;监控程序已手动终止&amp;nbsp;=====&amp;quot;)

#&amp;nbsp;执行监控程序
if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;run_cycle_monitor()&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h4&gt;监控模块使用说明：&lt;/h4&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;将两段代码放在同一个项目目录下，保证函数正常引用；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;MONITOR_INTERVAL&lt;/code&gt; 为监控频率，测试阶段可设为 60 秒（1 分钟），正式使用建议 300 秒及以上，避免高频调用接口；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;调整&lt;code&gt;PRICE_CHANGE_THRESHOLD&lt;/code&gt;和&lt;code&gt;SALE_CHANGE_THRESHOLD&lt;/code&gt;，自定义异动提醒标准；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;运行程序后，程序会持续后台运行，一旦商品出现降价、销量暴涨、库存不足，控制台会立刻弹出提醒。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;四、拓展优化与实战技巧&lt;/h2&gt;&lt;p&gt;这套基础代码可以满足个人和小团队的基础选品、监控需求，大家可以根据业务场景继续拓展功能，这里分享几个实用优化方向：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;数据持久化（存入 Excel / 数据库）&lt;/strong&gt; 抓取的商品数据、异动记录可以用 &lt;code&gt;pandas&lt;/code&gt; 存入 Excel 表格，方便后续复盘选品；也可以接入 SQLite、MySQL 数据库，搭建长期数据台账。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;消息推送提醒&lt;/strong&gt; 结合企业微信机器人、钉钉机器人、短信接口，把价格 / 销量异动提醒推送到手机或工作群，不用一直盯着电脑控制台。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;多类目批量爬取选品&lt;/strong&gt; 搭配类目查询接口，抓取整个类目下的商品 ID，再批量调用商品详情接口，实现&lt;strong&gt;全类目蓝海选品&lt;/strong&gt;，大幅扩大选品范围。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;控制接口调用频率&lt;/strong&gt; 平台接口一般有调用频次限制，代码中一定要加入延时，不要无限制高频请求，避免接口被限制访问。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;结合多维度数据选品&lt;/strong&gt; 除了价格和销量，还可以提取商品评价数、上架时间、活动力度等字段，组合成多维度选品模型，选品精准度会更高。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;五、常见问题排查&lt;/h2&gt;&lt;p&gt;很多新手运行代码时会遇到小问题，这里汇总高频坑点：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;接口返回请求失败&lt;/strong&gt; 优先检查 &lt;code&gt;AppKey&lt;/code&gt; 和 &lt;code&gt;AppSecret&lt;/code&gt; 是否填写正确、应用是否开启调用权限、IP 是否被限制；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;数据字段为空&lt;/strong&gt; 部分活动商品、特殊类目商品部分字段会为空，代码中做好空值判断即可；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;请求超时&lt;/strong&gt; 网络波动会导致超时，可在代码中增加重试机制，失败后自动重试 1-2 次；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;监控程序自动中断&lt;/strong&gt; 本地运行时保持电脑开机、网络畅通；如果需要 7×24 小时运行，可以将程序部署到轻量云服务器。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;六、总结&lt;/h2&gt;&lt;p&gt;对于电商从业者、副业带货、数据运营来说，手动选品和盯品早已跟不上节奏。利用 Open Claw 淘宝商品接口搭配简单 Python 代码，就能用极低的成本搭建一套自动化选品 + 监控系统。&lt;/p&gt;&lt;p&gt;这套方案门槛不高，不需要精通爬虫、逆向工程，依托成熟接口规避了反爬、页面改版等问题，代码拿来改改配置就能直接落地。大家可以先从单品监控入手，熟悉接口逻辑后，再拓展批量选品、数据报表、消息推送等功能，逐步打造属于自己的电商数据工具。&lt;/p&gt;&lt;p&gt;如果后续想做进阶开发，比如对接店铺后台、批量上架商品、多平台比价，也可以基于这套接口体系继续延伸，一站式解决电商运营中的数据痛点。&lt;/p&gt;&lt;p&gt;&lt;span data-cke-copybin-end=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Tue, 16 Jun 2026 11:57:57 +0800</pubDate></item><item><title>告别手动翻页！基于淘宝商品接口 + Open Claw 实现自动化选品与实时监控（附完整 Python 代码）</title><link>https://shopapi.com.cn/?id=178</link><description>&lt;p&gt;&lt;span data-cke-copybin-start=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;做电商运营、无货源带货、跨境选品的朋友想必都有过这样的困扰：每天花数小时手动刷淘宝商品页面，统计销量、价格、库存、评价数据，筛选潜力爆款，不仅效率低下，还容易因为人工疏漏错过商机。面对海量商品数据，纯人工选品早已跟不上节奏，而借助接口 + 爬虫工具搭建自动化监控体系，成为当下高效选品的主流方案。&lt;/p&gt;&lt;p&gt;今天就结合实战经验，分享一套可直接落地的方案：利用&lt;strong&gt;淘宝商品详情接口&lt;/strong&gt;搭配 Open Claw 工具，快速抓取商品核心数据、搭建监控脚本，实现全自动选品、价格异动监控、爆款追踪。全文包含原理讲解、环境配置、完整可运行代码以及实操避坑要点，新手也能一步步跟着做，代码经过实测，可直接部署使用。&lt;/p&gt;&lt;h2&gt;一、方案整体思路&lt;/h2&gt;&lt;p&gt;在正式写代码之前，先梳理整套架构逻辑，方便大家理解后续操作：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;核心数据源&lt;/strong&gt;：调用淘宝商品数据接口，获取商品标题、售价、原价、销量、库存、类目、sku 信息、评价数等选品核心字段，这是选品和监控的基础；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;工具协同&lt;/strong&gt;：使用 Open Claw 作为请求调度与数据解析工具，简化接口调用、请求重试、数据格式化等重复工作，降低开发门槛；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;功能目标&lt;/strong&gt;：实现两大核心场景 —— 批量商品数据采集（初选品）、定时轮询监控（价格 / 销量 / 库存异动预警）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;适用场景&lt;/strong&gt;：淘宝店铺铺货、竞品监控、爆款挖掘、价格战监测、多店铺商品巡检等。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;整套方案无需复杂的分布式架构，单台电脑 / 轻量服务器即可运行，适合个人开发者、中小电商团队使用。&lt;/p&gt;&lt;h2&gt;二、前期准备工作&lt;/h2&gt;&lt;h3&gt;2.1 环境依赖&lt;/h3&gt;&lt;p&gt;本次代码基于 Python 开发，依赖基础网络请求、数据处理类库，先完成环境安装：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;确保本地已安装 Python 3.7 及以上版本；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;打开终端 / 命令提示符，执行以下命令安装依赖包：&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;0&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22pip%20install%20requests%20open-claw%20json5%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;pip&amp;nbsp;install&amp;nbsp;requests&amp;nbsp;open-claw&amp;nbsp;json5&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;requests&lt;/code&gt;：基础网络请求库，用于发起 HTTP 接口调用；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;open-claw&lt;/code&gt;：核心工具，负责请求管理、异常重试、数据清洗、规则匹配；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;json5&lt;/code&gt;：兼容不标准 JSON 格式，避免接口返回数据解析报错。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;2.2 接口基础配置&lt;/h3&gt;&lt;p&gt;本次使用淘宝商品查询接口&lt;code&gt;taobao.item_get_pro&lt;/code&gt;，该接口可以返回商品全维度详情数据，包括基础信息、销售数据、规格参数、物流信息等，完全满足选品需求。 使用前需要提前准备两个关键参数（平台通用接口调用凭证）：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;appkey&lt;/code&gt;：接口调用密钥；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;secret&lt;/code&gt;：接口加密密钥；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;接口请求地址：通用接口请求域名（下文代码中统一封装）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;p&gt;温馨提示：接口调用需遵守平台规则，控制请求频率，避免高频并发导致接口限流，下文代码中已加入间隔休眠逻辑。&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;三、完整实战代码（分两大模块）&lt;/h2&gt;&lt;p&gt;代码分为&lt;strong&gt;单商品数据采集（基础选品）&lt;/strong&gt;、&lt;strong&gt;批量监控 + 异动预警（实时监控）&lt;/strong&gt; 两个模块，模块化拆分便于大家按需使用、二次改造。&lt;/p&gt;&lt;h3&gt;3.1 模块一：单商品数据抓取（基础选品）&lt;/h3&gt;&lt;p&gt;该模块实现输入商品 ID，调用接口获取商品完整数据，自动解析选品核心字段并打印输出，适合单品分析、竞品详情查看。&lt;/p&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;1&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22%23%20%E5%AF%BC%E5%85%A5%E6%89%80%E9%9C%80%E5%BA%93%5Cnimport%20time%5Cnimport%20requests%5Cnfrom%20open_claw%20import%20ClawParser%20%20%23%20%E5%AF%BC%E5%85%A5Open%20Claw%E8%A7%A3%E6%9E%90%E5%B7%A5%E5%85%B7%5Cn%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20%E9%85%8D%E7%BD%AE%E5%8C%BA%EF%BC%88%E8%87%AA%E8%A1%8C%E4%BF%AE%E6%94%B9%E5%8F%82%E6%95%B0%EF%BC%89%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5CnAPP_KEY%20%3D%20%5C%22%E4%BD%A0%E7%9A%84appkey%5C%22%20%20%20%20%20%20%20%23%20%E6%9B%BF%E6%8D%A2%E4%B8%BA%E4%BD%A0%E7%9A%84%E6%8E%A5%E5%8F%A3%E5%AF%86%E9%92%A5%5CnAPP_SECRET%20%3D%20%5C%22%E4%BD%A0%E7%9A%84secret%5C%22%20%20%20%23%20%E6%9B%BF%E6%8D%A2%E4%B8%BA%E4%BD%A0%E7%9A%84%E5%8A%A0%E5%AF%86%E5%AF%86%E9%92%A5%5CnAPI_URL%20%3D%20%5C%22https%3A%2F%2Fopen.onebound.cn%2Ftaobao%2Fitem_get_pro%5C%22%20%20%23%20%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81%E6%8E%A5%E5%8F%A3%E5%9C%B0%E5%9D%80%5CnREQUEST_INTERVAL%20%3D%201%20%20%20%20%20%20%20%20%23%20%E8%AF%B7%E6%B1%82%E9%97%B4%E9%9A%94%EF%BC%88%E7%A7%92%EF%BC%89%EF%BC%8C%E9%98%B2%E9%99%90%E6%B5%81%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%5Cndef%20get_taobao_item_info(item_id%3A%20str)%20-%3E%20dict%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%5Cn%20%20%20%20%E8%B0%83%E7%94%A8%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81%E6%8E%A5%E5%8F%A3%EF%BC%8C%E8%8E%B7%E5%8F%96%E5%8D%95%E5%93%81%E5%AE%8C%E6%95%B4%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%3Aparam%20item_id%3A%20%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81ID%5Cn%20%20%20%20%3Areturn%3A%20%E8%A7%A3%E6%9E%90%E5%90%8E%E7%9A%84%E5%95%86%E5%93%81%E5%AD%97%E5%85%B8%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%5C%22%5C%22%5C%22%5Cn%20%20%20%20%23%20%E6%9E%84%E9%80%A0%E6%8E%A5%E5%8F%A3%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%5Cn%20%20%20%20params%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%5C%22appkey%5C%22%3A%20APP_KEY%2C%5Cn%20%20%20%20%20%20%20%20%5C%22secret%5C%22%3A%20APP_SECRET%2C%5Cn%20%20%20%20%20%20%20%20%5C%22itemid%5C%22%3A%20item_id%2C%5Cn%20%20%20%20%20%20%20%20%5C%22format%5C%22%3A%20%5C%22json%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%5C%22lang%5C%22%3A%20%5C%22zh-CN%5C%22%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20%23%20%E5%8F%91%E8%B5%B7%E6%8E%A5%E5%8F%A3%E8%AF%B7%E6%B1%82%5Cn%20%20%20%20%20%20%20%20response%20%3D%20requests.get(url%3DAPI_URL%2C%20params%3Dparams%2C%20timeout%3D10)%5Cn%20%20%20%20%20%20%20%20response.raise_for_status()%20%20%23%20%E6%8D%95%E8%8E%B7HTTP%E8%AF%B7%E6%B1%82%E5%BC%82%E5%B8%B8%5Cn%5Cn%20%20%20%20%20%20%20%20%23%20%E4%BD%BF%E7%94%A8Open%20Claw%E6%B8%85%E6%B4%97%E3%80%81%E8%A7%A3%E6%9E%90%E8%BF%94%E5%9B%9E%E6%95%B0%E6%8D%AE%EF%BC%8C%E8%BF%87%E6%BB%A4%E6%97%A0%E6%95%88%E5%AD%97%E7%AC%A6%5Cn%20%20%20%20%20%20%20%20claw%20%3D%20ClawParser()%5Cn%20%20%20%20%20%20%20%20raw_data%20%3D%20claw.clean_html(response.text)%20%20%23%20%E6%B8%85%E6%B4%97%E5%A4%9A%E4%BD%99%E6%A0%87%E7%AD%BE%E3%80%81%E7%89%B9%E6%AE%8A%E7%AC%A6%E5%8F%B7%5Cn%20%20%20%20%20%20%20%20item_data%20%3D%20claw.parse_json(raw_data)%20%20%20%20%20%20%23%20%E8%A7%A3%E6%9E%90JSON%E6%95%B0%E6%8D%AE%5Cn%5Cn%20%20%20%20%20%20%20%20%23%20%E6%8E%A5%E5%8F%A3%E7%8A%B6%E6%80%81%E6%A0%A1%E9%AA%8C%5Cn%20%20%20%20%20%20%20%20if%20item_data.get(%5C%22status%5C%22)%20!%3D%200%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E6%8E%A5%E5%8F%A3%E8%AF%B7%E6%B1%82%E5%A4%B1%E8%B4%A5%EF%BC%9A%7Bitem_data.get(&amp;#39;msg&amp;#39;%2C%20&amp;#39;%E6%9C%AA%E7%9F%A5%E9%94%99%E8%AF%AF&amp;#39;)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20return%20%7B%7D%5Cn%5Cn%20%20%20%20%20%20%20%20%23%20%E6%8F%90%E5%8F%96%E6%A0%B8%E5%BF%83%E5%95%86%E5%93%81%E6%95%B0%E6%8D%AE%EF%BC%88%E9%80%89%E5%93%81%E9%87%8D%E7%82%B9%E5%AD%97%E6%AE%B5%EF%BC%89%5Cn%20%20%20%20%20%20%20%20item_info%20%3D%20item_data.get(%5C%22data%5C%22%2C%20%7B%7D)%5Cn%20%20%20%20%20%20%20%20result%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%95%86%E5%93%81ID%5C%22%3A%20item_id%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%95%86%E5%93%81%E6%A0%87%E9%A2%98%5C%22%3A%20item_info.get(%5C%22title%5C%22%2C%20%5C%22%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%BD%93%E5%89%8D%E5%94%AE%E4%BB%B7%5C%22%3A%20item_info.get(%5C%22price%5C%22%2C%20%5C%22%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%8E%9F%E4%BB%B7%5C%22%3A%20item_info.get(%5C%22original_price%5C%22%2C%20%5C%22%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E7%B4%AF%E8%AE%A1%E9%94%80%E9%87%8F%5C%22%3A%20item_info.get(%5C%22sales%5C%22%2C%200)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%BA%93%E5%AD%98%E6%95%B0%E9%87%8F%5C%22%3A%20item_info.get(%5C%22stock%5C%22%2C%200)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E6%89%80%E5%B1%9E%E7%B1%BB%E7%9B%AE%5C%22%3A%20item_info.get(%5C%22category_name%5C%22%2C%20%5C%22%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%8F%91%E8%B4%A7%E5%9C%B0%5C%22%3A%20item_info.get(%5C%22location%5C%22%2C%20%5C%22%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%A5%BD%E8%AF%84%E6%95%B0%5C%22%3A%20item_info.get(%5C%22good_rate%5C%22%2C%20%5C%22%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%95%86%E5%93%81%E9%93%BE%E6%8E%A5%5C%22%3A%20item_info.get(%5C%22item_url%5C%22%2C%20%5C%22%5C%22)%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%20%20return%20result%5Cn%5Cn%20%20%20%20except%20requests.exceptions.Timeout%3A%5Cn%20%20%20%20%20%20%20%20print(%5C%22%E8%AF%B7%E6%B1%82%E8%B6%85%E6%97%B6%EF%BC%8C%E8%AF%B7%E6%A3%80%E6%9F%A5%E7%BD%91%E7%BB%9C%E6%88%96%E6%8E%A5%E5%8F%A3%E5%9C%B0%E5%9D%80%5C%22)%5Cn%20%20%20%20%20%20%20%20return%20%7B%7D%5Cn%20%20%20%20except%20Exception%20as%20e%3A%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E6%95%B0%E6%8D%AE%E8%A7%A3%E6%9E%90%E5%BC%82%E5%B8%B8%EF%BC%9A%7Bstr(e)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20return%20%7B%7D%5Cn%5Cn%23%20%E4%B8%BB%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C%5Cnif%20__name__%20%3D%3D%20%5C%22__main__%5C%22%3A%5Cn%20%20%20%20%23%20%E6%9B%BF%E6%8D%A2%E4%B8%BA%E4%BD%A0%E9%9C%80%E8%A6%81%E6%9F%A5%E8%AF%A2%E7%9A%84%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81ID%5Cn%20%20%20%20target_item_id%20%3D%20%5C%2268xxxxxxxxx%5C%22%5Cn%20%20%20%20print(%5C%22%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20%E5%BC%80%E5%A7%8B%E6%8A%93%E5%8F%96%E5%95%86%E5%93%81%E6%95%B0%E6%8D%AE%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5C%22)%5Cn%20%20%20%20item_result%20%3D%20get_taobao_item_info(target_item_id)%5Cn%20%20%20%20if%20item_result%3A%5Cn%20%20%20%20%20%20%20%20%23%20%E6%A0%BC%E5%BC%8F%E5%8C%96%E8%BE%93%E5%87%BA%E9%80%89%E5%93%81%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%20%20%20%20for%20key%2C%20value%20in%20item_result.items()%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%7Bkey%7D%EF%BC%9A%7Bvalue%7D%5C%22)%5Cn%20%20%20%20time.sleep(REQUEST_INTERVAL)%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;#&amp;nbsp;导入所需库
import&amp;nbsp;time
import&amp;nbsp;requests
from&amp;nbsp;open_claw&amp;nbsp;import&amp;nbsp;ClawParser&amp;nbsp;&amp;nbsp;#&amp;nbsp;导入Open&amp;nbsp;Claw解析工具

#&amp;nbsp;=====================&amp;nbsp;配置区（自行修改参数）=====================
APP_KEY&amp;nbsp;=&amp;nbsp;&amp;quot;你的appkey&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;替换为你的接口密钥
APP_SECRET&amp;nbsp;=&amp;nbsp;&amp;quot;你的secret&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;替换为你的加密密钥
API_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://open.onebound.cn/taobao/item_get_pro&amp;quot;&amp;nbsp;&amp;nbsp;#&amp;nbsp;淘宝商品接口地址
REQUEST_INTERVAL&amp;nbsp;=&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;请求间隔（秒），防限流
#&amp;nbsp;=================================================================

def&amp;nbsp;get_taobao_item_info(item_id:&amp;nbsp;str)&amp;nbsp;-&amp;gt;&amp;nbsp;dict:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;调用淘宝商品接口，获取单品完整数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:param&amp;nbsp;item_id:&amp;nbsp;淘宝商品ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:return:&amp;nbsp;解析后的商品字典数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;构造接口请求参数
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;appkey&amp;quot;:&amp;nbsp;APP_KEY,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;secret&amp;quot;:&amp;nbsp;APP_SECRET,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;itemid&amp;quot;:&amp;nbsp;item_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;format&amp;quot;:&amp;nbsp;&amp;quot;json&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;lang&amp;quot;:&amp;nbsp;&amp;quot;zh-CN&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;发起接口请求
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;requests.get(url=API_URL,&amp;nbsp;params=params,&amp;nbsp;timeout=10)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.raise_for_status()&amp;nbsp;&amp;nbsp;#&amp;nbsp;捕获HTTP请求异常

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;使用Open&amp;nbsp;Claw清洗、解析返回数据，过滤无效字符
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;claw&amp;nbsp;=&amp;nbsp;ClawParser()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;raw_data&amp;nbsp;=&amp;nbsp;claw.clean_html(response.text)&amp;nbsp;&amp;nbsp;#&amp;nbsp;清洗多余标签、特殊符号
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_data&amp;nbsp;=&amp;nbsp;claw.parse_json(raw_data)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;解析JSON数据

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;接口状态校验
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;item_data.get(&amp;quot;status&amp;quot;)&amp;nbsp;!=&amp;nbsp;0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;接口请求失败：{item_data.get(&amp;#39;msg&amp;#39;,&amp;nbsp;&amp;#39;未知错误&amp;#39;)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;{}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;提取核心商品数据（选品重点字段）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_info&amp;nbsp;=&amp;nbsp;item_data.get(&amp;quot;data&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;商品ID&amp;quot;:&amp;nbsp;item_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;商品标题&amp;quot;:&amp;nbsp;item_info.get(&amp;quot;title&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;当前售价&amp;quot;:&amp;nbsp;item_info.get(&amp;quot;price&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;原价&amp;quot;:&amp;nbsp;item_info.get(&amp;quot;original_price&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;累计销量&amp;quot;:&amp;nbsp;item_info.get(&amp;quot;sales&amp;quot;,&amp;nbsp;0),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;库存数量&amp;quot;:&amp;nbsp;item_info.get(&amp;quot;stock&amp;quot;,&amp;nbsp;0),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;所属类目&amp;quot;:&amp;nbsp;item_info.get(&amp;quot;category_name&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;发货地&amp;quot;:&amp;nbsp;item_info.get(&amp;quot;location&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;好评数&amp;quot;:&amp;nbsp;item_info.get(&amp;quot;good_rate&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;商品链接&amp;quot;:&amp;nbsp;item_info.get(&amp;quot;item_url&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;result

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;requests.exceptions.Timeout:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;请求超时，请检查网络或接口地址&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;{}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;Exception&amp;nbsp;as&amp;nbsp;e:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;数据解析异常：{str(e)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;{}

#&amp;nbsp;主程序运行
if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;替换为你需要查询的淘宝商品ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target_item_id&amp;nbsp;=&amp;nbsp;&amp;quot;68xxxxxxxxx&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;==========&amp;nbsp;开始抓取商品数据&amp;nbsp;==========&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_result&amp;nbsp;=&amp;nbsp;get_taobao_item_info(target_item_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;item_result:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;格式化输出选品数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;key,&amp;nbsp;value&amp;nbsp;in&amp;nbsp;item_result.items():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;{key}：{value}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(REQUEST_INTERVAL)&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h4&gt;代码使用说明：&lt;/h4&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;将&lt;code&gt;配置区&lt;/code&gt;中的&lt;code&gt;APP_KEY&lt;/code&gt;、&lt;code&gt;APP_SECRET&lt;/code&gt;替换为你自己的接口凭证；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;修改&lt;code&gt;target_item_id&lt;/code&gt;为目标淘宝商品 ID（商品链接中&lt;code&gt;id=&lt;/code&gt;后面的数字）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;运行代码，控制台会自动输出商品标题、价格、销量、库存等核心选品数据。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;3.2 模块二：批量商品监控 + 异动预警（进阶版）&lt;/h3&gt;&lt;p&gt;这是选品监控的核心模块，支持&lt;strong&gt;批量添加监控商品&lt;/strong&gt;，定时轮询接口对比历史数据，当价格下跌 / 上涨、销量突增、库存骤减时自动发出预警，实现 7×24 小时无人值守监控。&lt;/p&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;2&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22import%20time%5Cnfrom%20open_claw%20import%20ClawParser%5Cnimport%20requests%5Cn%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20%E5%85%A8%E5%B1%80%E9%85%8D%E7%BD%AE%EF%BC%88%E6%8C%89%E9%9C%80%E4%BF%AE%E6%94%B9%EF%BC%89%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5CnAPP_KEY%20%3D%20%5C%22%E4%BD%A0%E7%9A%84appkey%5C%22%5CnAPP_SECRET%20%3D%20%5C%22%E4%BD%A0%E7%9A%84secret%5C%22%5CnAPI_URL%20%3D%20%5C%22https%3A%2F%2Fopen.onebound.cn%2Ftaobao%2Fitem_get_pro%5C%22%5CnMONITOR_LIST%20%3D%20%5B%5Cn%20%20%20%20%5C%2268xxxxxxxxx%5C%22%2C%20%20%23%20%E7%9B%91%E6%8E%A7%E5%95%86%E5%93%81ID1%5Cn%20%20%20%20%5C%2269xxxxxxxxx%5C%22%2C%20%20%23%20%E7%9B%91%E6%8E%A7%E5%95%86%E5%93%81ID2%5Cn%20%20%20%20%5C%2270xxxxxxxxx%5C%22%20%20%20%23%20%E7%9B%91%E6%8E%A7%E5%95%86%E5%93%81ID3%5Cn%5D%5CnMONITOR_CYCLE%20%3D%20300%20%20%23%20%E7%9B%91%E6%8E%A7%E5%91%A8%E6%9C%9F%EF%BC%88%E7%A7%92%EF%BC%89%EF%BC%8C%E6%AD%A4%E5%A4%84%E8%AE%BE%E7%BD%AE%E4%B8%BA5%E5%88%86%E9%92%9F%E8%BD%AE%E8%AF%A2%E4%B8%80%E6%AC%A1%5CnPRICE_CHANGE_THRESHOLD%20%3D%200.5%20%20%23%20%E4%BB%B7%E6%A0%BC%E5%BC%82%E5%8A%A8%E9%98%88%E5%80%BC%EF%BC%88%E5%85%83%EF%BC%89%EF%BC%8C%E8%B6%85%E8%BF%87%E5%88%99%E9%A2%84%E8%AD%A6%5CnSALES_JUMP_THRESHOLD%20%3D%20100%20%20%20%20%23%20%E9%94%80%E9%87%8F%E7%AA%81%E5%A2%9E%E9%98%88%E5%80%BC%EF%BC%8C%E5%A2%9E%E9%87%8F%E8%B6%85%E8%BF%87%E5%88%99%E9%A2%84%E8%AD%A6%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%5Cn%23%20%E5%85%A8%E5%B1%80%E5%AD%97%E5%85%B8%EF%BC%9A%E5%AD%98%E5%82%A8%E4%B8%8A%E4%B8%80%E8%BD%AE%E5%95%86%E5%93%81%E6%95%B0%E6%8D%AE%EF%BC%8C%E7%94%A8%E4%BA%8E%E5%AF%B9%E6%AF%94%E5%BC%82%E5%8A%A8%5Cnlast_item_data%20%3D%20%7B%7D%5Cnclaw%20%3D%20ClawParser()%20%20%23%20%E5%88%9D%E5%A7%8B%E5%8C%96Open%20Claw%E8%A7%A3%E6%9E%90%E5%99%A8%5Cn%5Cndef%20fetch_single_item(item_id%3A%20str)%20-%3E%20dict%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E8%8E%B7%E5%8F%96%E5%8D%95%E4%B8%AA%E5%95%86%E5%93%81%E5%8E%9F%E5%A7%8B%E6%95%B0%E6%8D%AE%5C%22%5C%22%5C%22%5Cn%20%20%20%20params%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%5C%22appkey%5C%22%3A%20APP_KEY%2C%5Cn%20%20%20%20%20%20%20%20%5C%22secret%5C%22%3A%20APP_SECRET%2C%5Cn%20%20%20%20%20%20%20%20%5C%22itemid%5C%22%3A%20item_id%2C%5Cn%20%20%20%20%20%20%20%20%5C%22format%5C%22%3A%20%5C%22json%5C%22%5Cn%20%20%20%20%7D%5Cn%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20resp%20%3D%20requests.get(API_URL%2C%20params%3Dparams%2C%20timeout%3D10)%5Cn%20%20%20%20%20%20%20%20clean_data%20%3D%20claw.clean_html(resp.text)%5Cn%20%20%20%20%20%20%20%20parse_data%20%3D%20claw.parse_json(clean_data)%5Cn%20%20%20%20%20%20%20%20if%20parse_data.get(%5C%22status%5C%22)%20!%3D%200%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20return%20%7B%7D%5Cn%20%20%20%20%20%20%20%20return%20parse_data.get(%5C%22data%5C%22%2C%20%7B%7D)%5Cn%20%20%20%20except%3A%5Cn%20%20%20%20%20%20%20%20return%20%7B%7D%5Cn%5Cndef%20check_data_change(item_id%3A%20str%2C%20current_data%3A%20dict)%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E5%AF%B9%E6%AF%94%E6%96%B0%E6%97%A7%E6%95%B0%E6%8D%AE%EF%BC%8C%E6%A3%80%E6%B5%8B%E4%BB%B7%E6%A0%BC%E3%80%81%E9%94%80%E9%87%8F%E3%80%81%E5%BA%93%E5%AD%98%E5%BC%82%E5%8A%A8%5C%22%5C%22%5C%22%5Cn%20%20%20%20global%20last_item_data%5Cn%20%20%20%20%23%20%E9%A6%96%E6%AC%A1%E7%9B%91%E6%8E%A7%EF%BC%8C%E5%88%9D%E5%A7%8B%E5%8C%96%E5%8E%86%E5%8F%B2%E6%95%B0%E6%8D%AE%EF%BC%8C%E4%B8%8D%E5%81%9A%E5%AF%B9%E6%AF%94%5Cn%20%20%20%20if%20item_id%20not%20in%20last_item_data%3A%5Cn%20%20%20%20%20%20%20%20last_item_data%5Bitem_id%5D%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22price%5C%22%3A%20current_data.get(%5C%22price%5C%22%2C%200)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22sales%5C%22%3A%20current_data.get(%5C%22sales%5C%22%2C%200)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22stock%5C%22%3A%20current_data.get(%5C%22stock%5C%22%2C%200)%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E3%80%90%E5%88%9D%E5%A7%8B%E5%8C%96%E7%9B%91%E6%8E%A7%E3%80%91%E5%95%86%E5%93%81%7Bitem_id%7D%20%E6%95%B0%E6%8D%AE%E5%BD%95%E5%85%A5%E5%AE%8C%E6%88%90%5C%22)%5Cn%20%20%20%20%20%20%20%20return%5Cn%5Cn%20%20%20%20%23%20%E8%AF%BB%E5%8F%96%E4%B8%8A%E4%B8%80%E8%BD%AE%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20old_data%20%3D%20last_item_data%5Bitem_id%5D%5Cn%20%20%20%20current_price%20%3D%20float(current_data.get(%5C%22price%5C%22%2C%200))%5Cn%20%20%20%20old_price%20%3D%20float(old_data.get(%5C%22price%5C%22%2C%200))%5Cn%20%20%20%20current_sales%20%3D%20int(current_data.get(%5C%22sales%5C%22%2C%200))%5Cn%20%20%20%20old_sales%20%3D%20int(old_data.get(%5C%22sales%5C%22%2C%200))%5Cn%20%20%20%20current_stock%20%3D%20int(current_data.get(%5C%22stock%5C%22%2C%200))%5Cn%20%20%20%20old_stock%20%3D%20int(old_data.get(%5C%22stock%5C%22%2C%200))%5Cn%5Cn%20%20%20%20%23%201.%20%E4%BB%B7%E6%A0%BC%E5%BC%82%E5%8A%A8%E6%A3%80%E6%B5%8B%5Cn%20%20%20%20price_diff%20%3D%20abs(current_price%20-%20old_price)%5Cn%20%20%20%20if%20price_diff%20%3E%3D%20PRICE_CHANGE_THRESHOLD%3A%5Cn%20%20%20%20%20%20%20%20if%20current_price%20%3E%20old_price%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E2%9A%A0%EF%B8%8F%E3%80%90%E4%BB%B7%E6%A0%BC%E4%B8%8A%E6%B6%A8%E9%A2%84%E8%AD%A6%E3%80%91%E5%95%86%E5%93%81%7Bitem_id%7D%20%7C%20%E5%8E%9F%E4%BB%B7%E6%A0%BC%EF%BC%9A%7Bold_price%7D%E5%85%83%20%E2%86%92%20%E7%8E%B0%E4%BB%B7%E6%A0%BC%EF%BC%9A%7Bcurrent_price%7D%E5%85%83%5C%22)%5Cn%20%20%20%20%20%20%20%20else%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E2%9A%A0%EF%B8%8F%E3%80%90%E4%BB%B7%E6%A0%BC%E4%B8%8B%E8%B7%8C%E9%A2%84%E8%AD%A6%E3%80%91%E5%95%86%E5%93%81%7Bitem_id%7D%20%7C%20%E5%8E%9F%E4%BB%B7%E6%A0%BC%EF%BC%9A%7Bold_price%7D%E5%85%83%20%E2%86%92%20%E7%8E%B0%E4%BB%B7%E6%A0%BC%EF%BC%9A%7Bcurrent_price%7D%E5%85%83%5C%22)%5Cn%5Cn%20%20%20%20%23%202.%20%E9%94%80%E9%87%8F%E7%AA%81%E5%A2%9E%E6%A3%80%E6%B5%8B%EF%BC%88%E7%88%86%E6%AC%BE%E9%A2%84%E8%AD%A6%EF%BC%89%5Cn%20%20%20%20sales_diff%20%3D%20current_sales%20-%20old_sales%5Cn%20%20%20%20if%20sales_diff%20%3E%3D%20SALES_JUMP_THRESHOLD%3A%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%F0%9F%94%A5%E3%80%90%E7%88%86%E6%AC%BE%E9%A2%84%E8%AD%A6%E3%80%91%E5%95%86%E5%93%81%7Bitem_id%7D%20%E9%94%80%E9%87%8F%E7%AA%81%E5%A2%9E%EF%BC%81%E6%96%B0%E5%A2%9E%E9%94%80%E9%87%8F%EF%BC%9A%7Bsales_diff%7D%20%7C%20%E6%80%BB%E9%94%80%E9%87%8F%EF%BC%9A%7Bcurrent_sales%7D%5C%22)%5Cn%5Cn%20%20%20%20%23%203.%20%E5%BA%93%E5%AD%98%E9%A2%84%E8%AD%A6%EF%BC%88%E6%96%AD%E8%B4%A7%E9%A3%8E%E9%99%A9%EF%BC%89%5Cn%20%20%20%20stock_diff%20%3D%20old_stock%20-%20current_stock%5Cn%20%20%20%20if%20stock_diff%20%3E%2050%20and%20current_stock%20%3C%20200%3A%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%F0%9F%93%A6%E3%80%90%E5%BA%93%E5%AD%98%E9%A2%84%E8%AD%A6%E3%80%91%E5%95%86%E5%93%81%7Bitem_id%7D%20%E5%BA%93%E5%AD%98%E7%B4%A7%E5%BC%A0%EF%BC%81%E5%89%A9%E4%BD%99%E5%BA%93%E5%AD%98%EF%BC%9A%7Bcurrent_stock%7D%5C%22)%5Cn%5Cn%20%20%20%20%23%20%E6%9B%B4%E6%96%B0%E5%8E%86%E5%8F%B2%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20last_item_data%5Bitem_id%5D%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%5C%22price%5C%22%3A%20current_price%2C%5Cn%20%20%20%20%20%20%20%20%5C%22sales%5C%22%3A%20current_sales%2C%5Cn%20%20%20%20%20%20%20%20%5C%22stock%5C%22%3A%20current_stock%5Cn%20%20%20%20%7D%5Cn%5Cndef%20main_monitor()%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E4%B8%BB%E7%9B%91%E6%8E%A7%E5%BE%AA%E7%8E%AF%5C%22%5C%22%5C%22%5Cn%20%20%20%20print(%5C%22%3D%3D%3D%3D%3D%20%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81%E8%87%AA%E5%8A%A8%E5%8C%96%E7%9B%91%E6%8E%A7%E5%B7%B2%E5%90%AF%E5%8A%A8%20%3D%3D%3D%3D%3D%5C%22)%5Cn%20%20%20%20print(f%5C%22%E7%9B%91%E6%8E%A7%E5%95%86%E5%93%81%E5%88%97%E8%A1%A8%EF%BC%9A%7BMONITOR_LIST%7D%5C%22)%5Cn%20%20%20%20print(f%5C%22%E8%BD%AE%E8%AF%A2%E5%91%A8%E6%9C%9F%EF%BC%9A%7BMONITOR_CYCLE%7D%E7%A7%92%5C%5Cn%5C%22)%5Cn%20%20%20%20while%20True%3A%5Cn%20%20%20%20%20%20%20%20for%20item_id%20in%20MONITOR_LIST%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20item_data%20%3D%20fetch_single_item(item_id)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20if%20item_data%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20check_data_change(item_id%2C%20item_data)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20time.sleep(1)%20%20%23%20%E5%8D%95%E4%B8%AA%E5%95%86%E5%93%81%E8%AF%B7%E6%B1%82%E9%97%B4%E9%9A%94%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%5C%5Cn%E6%9C%AC%E8%BD%AE%E7%9B%91%E6%8E%A7%E5%AE%8C%E6%88%90%EF%BC%8C%E7%AD%89%E5%BE%85%7BMONITOR_CYCLE%7D%E7%A7%92%E5%90%8E%E4%B8%8B%E4%B8%80%E8%BD%AE...%5C%5Cn%5C%22)%5Cn%20%20%20%20%20%20%20%20time.sleep(MONITOR_CYCLE)%5Cn%5Cnif%20__name__%20%3D%3D%20%5C%22__main__%5C%22%3A%5Cn%20%20%20%20main_monitor()%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;import&amp;nbsp;time
from&amp;nbsp;open_claw&amp;nbsp;import&amp;nbsp;ClawParser
import&amp;nbsp;requests

#&amp;nbsp;=====================&amp;nbsp;全局配置（按需修改）=====================
APP_KEY&amp;nbsp;=&amp;nbsp;&amp;quot;你的appkey&amp;quot;
APP_SECRET&amp;nbsp;=&amp;nbsp;&amp;quot;你的secret&amp;quot;
API_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://open.onebound.cn/taobao/item_get_pro&amp;quot;
MONITOR_LIST&amp;nbsp;=&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;68xxxxxxxxx&amp;quot;,&amp;nbsp;&amp;nbsp;#&amp;nbsp;监控商品ID1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;69xxxxxxxxx&amp;quot;,&amp;nbsp;&amp;nbsp;#&amp;nbsp;监控商品ID2
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;70xxxxxxxxx&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;监控商品ID3
]
MONITOR_CYCLE&amp;nbsp;=&amp;nbsp;300&amp;nbsp;&amp;nbsp;#&amp;nbsp;监控周期（秒），此处设置为5分钟轮询一次
PRICE_CHANGE_THRESHOLD&amp;nbsp;=&amp;nbsp;0.5&amp;nbsp;&amp;nbsp;#&amp;nbsp;价格异动阈值（元），超过则预警
SALES_JUMP_THRESHOLD&amp;nbsp;=&amp;nbsp;100&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;销量突增阈值，增量超过则预警
#&amp;nbsp;=================================================================

#&amp;nbsp;全局字典：存储上一轮商品数据，用于对比异动
last_item_data&amp;nbsp;=&amp;nbsp;{}
claw&amp;nbsp;=&amp;nbsp;ClawParser()&amp;nbsp;&amp;nbsp;#&amp;nbsp;初始化Open&amp;nbsp;Claw解析器

def&amp;nbsp;fetch_single_item(item_id:&amp;nbsp;str)&amp;nbsp;-&amp;gt;&amp;nbsp;dict:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;获取单个商品原始数据&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;appkey&amp;quot;:&amp;nbsp;APP_KEY,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;secret&amp;quot;:&amp;nbsp;APP_SECRET,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;itemid&amp;quot;:&amp;nbsp;item_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;format&amp;quot;:&amp;nbsp;&amp;quot;json&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resp&amp;nbsp;=&amp;nbsp;requests.get(API_URL,&amp;nbsp;params=params,&amp;nbsp;timeout=10)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clean_data&amp;nbsp;=&amp;nbsp;claw.clean_html(resp.text)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;parse_data&amp;nbsp;=&amp;nbsp;claw.parse_json(clean_data)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;parse_data.get(&amp;quot;status&amp;quot;)&amp;nbsp;!=&amp;nbsp;0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;{}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;parse_data.get(&amp;quot;data&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;{}

def&amp;nbsp;check_data_change(item_id:&amp;nbsp;str,&amp;nbsp;current_data:&amp;nbsp;dict):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;对比新旧数据，检测价格、销量、库存异动&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;global&amp;nbsp;last_item_data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;首次监控，初始化历史数据，不做对比
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;item_id&amp;nbsp;not&amp;nbsp;in&amp;nbsp;last_item_data:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;last_item_data[item_id]&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;price&amp;quot;:&amp;nbsp;current_data.get(&amp;quot;price&amp;quot;,&amp;nbsp;0),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;sales&amp;quot;:&amp;nbsp;current_data.get(&amp;quot;sales&amp;quot;,&amp;nbsp;0),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;stock&amp;quot;:&amp;nbsp;current_data.get(&amp;quot;stock&amp;quot;,&amp;nbsp;0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;【初始化监控】商品{item_id}&amp;nbsp;数据录入完成&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;读取上一轮数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;old_data&amp;nbsp;=&amp;nbsp;last_item_data[item_id]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_price&amp;nbsp;=&amp;nbsp;float(current_data.get(&amp;quot;price&amp;quot;,&amp;nbsp;0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;old_price&amp;nbsp;=&amp;nbsp;float(old_data.get(&amp;quot;price&amp;quot;,&amp;nbsp;0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_sales&amp;nbsp;=&amp;nbsp;int(current_data.get(&amp;quot;sales&amp;quot;,&amp;nbsp;0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;old_sales&amp;nbsp;=&amp;nbsp;int(old_data.get(&amp;quot;sales&amp;quot;,&amp;nbsp;0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_stock&amp;nbsp;=&amp;nbsp;int(current_data.get(&amp;quot;stock&amp;quot;,&amp;nbsp;0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;old_stock&amp;nbsp;=&amp;nbsp;int(old_data.get(&amp;quot;stock&amp;quot;,&amp;nbsp;0))

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;1.&amp;nbsp;价格异动检测
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_diff&amp;nbsp;=&amp;nbsp;abs(current_price&amp;nbsp;-&amp;nbsp;old_price)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;price_diff&amp;nbsp;&amp;gt;=&amp;nbsp;PRICE_CHANGE_THRESHOLD:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;current_price&amp;nbsp;&amp;gt;&amp;nbsp;old_price:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;⚠️【价格上涨预警】商品{item_id}&amp;nbsp;|&amp;nbsp;原价格：{old_price}元&amp;nbsp;→&amp;nbsp;现价格：{current_price}元&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;⚠️【价格下跌预警】商品{item_id}&amp;nbsp;|&amp;nbsp;原价格：{old_price}元&amp;nbsp;→&amp;nbsp;现价格：{current_price}元&amp;quot;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;2.&amp;nbsp;销量突增检测（爆款预警）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sales_diff&amp;nbsp;=&amp;nbsp;current_sales&amp;nbsp;-&amp;nbsp;old_sales
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;sales_diff&amp;nbsp;&amp;gt;=&amp;nbsp;SALES_JUMP_THRESHOLD:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;🔥【爆款预警】商品{item_id}&amp;nbsp;销量突增！新增销量：{sales_diff}&amp;nbsp;|&amp;nbsp;总销量：{current_sales}&amp;quot;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;3.&amp;nbsp;库存预警（断货风险）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stock_diff&amp;nbsp;=&amp;nbsp;old_stock&amp;nbsp;-&amp;nbsp;current_stock
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;stock_diff&amp;nbsp;&amp;gt;&amp;nbsp;50&amp;nbsp;and&amp;nbsp;current_stock&amp;nbsp;&amp;lt;&amp;nbsp;200:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;📦【库存预警】商品{item_id}&amp;nbsp;库存紧张！剩余库存：{current_stock}&amp;quot;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;更新历史数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;last_item_data[item_id]&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;price&amp;quot;:&amp;nbsp;current_price,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;sales&amp;quot;:&amp;nbsp;current_sales,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;stock&amp;quot;:&amp;nbsp;current_stock
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

def&amp;nbsp;main_monitor():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;主监控循环&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;=====&amp;nbsp;淘宝商品自动化监控已启动&amp;nbsp;=====&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;监控商品列表：{MONITOR_LIST}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;轮询周期：{MONITOR_CYCLE}秒\n&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while&amp;nbsp;True:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;item_id&amp;nbsp;in&amp;nbsp;MONITOR_LIST:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_data&amp;nbsp;=&amp;nbsp;fetch_single_item(item_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;item_data:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;check_data_change(item_id,&amp;nbsp;item_data)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(1)&amp;nbsp;&amp;nbsp;#&amp;nbsp;单个商品请求间隔
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;\n本轮监控完成，等待{MONITOR_CYCLE}秒后下一轮...\n&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(MONITOR_CYCLE)

if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;main_monitor()&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h4&gt;核心功能解读：&lt;/h4&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;批量监控&lt;/strong&gt;：在&lt;code&gt;MONITOR_LIST&lt;/code&gt;列表中添加多个商品 ID，即可同时监控多款商品；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;自定义阈值&lt;/strong&gt;：可自由设置价格波动、销量增量、库存预警阈值，适配不同品类选品规则；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;三大预警场景&lt;/strong&gt;：价格涨跌预警、销量爆单预警、库存不足预警，覆盖电商选品核心需求；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;循环轮询&lt;/strong&gt;：按照设定的&lt;code&gt;MONITOR_CYCLE&lt;/code&gt;周期自动循环抓取数据，实现 7×24 小时监控。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;四、Open Claw 工具的核心优势（为什么选择它？）&lt;/h2&gt;&lt;p&gt;很多朋友会疑惑，单纯用&lt;code&gt;requests&lt;/code&gt;也能请求接口，为什么还要搭配 Open Claw？结合电商数据抓取场景，它的优势非常明显：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;自动数据清洗&lt;/strong&gt;：淘宝接口偶尔会返回混杂 HTML 标签、转义字符的脏数据，Open Claw 的&lt;code&gt;clean_html&lt;/code&gt;方法可以一键过滤，避免 JSON 解析失败，大幅降低调试成本；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;异常容错&lt;/strong&gt;：内置请求重试、格式兼容逻辑，面对接口短暂波动、网络抖动时，稳定性远高于原生 requests；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;轻量化无负担&lt;/strong&gt;：无需复杂配置，几行代码即可集成，个人电脑、低配云服务器都能流畅运行；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;规则拓展性强&lt;/strong&gt;：后续如果需要拓展爬虫规则、筛选关键词、过滤低质商品，可直接基于 ClawParser 拓展解析规则。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;对于非专业开发的电商从业者来说，这套组合方案做到了&lt;strong&gt;低代码、高稳定、易上手&lt;/strong&gt;。&lt;/p&gt;&lt;h2&gt;五、实战优化与避坑指南（重点）&lt;/h2&gt;&lt;p&gt;结合长期落地经验，整理了生产环境使用的优化技巧和常见问题，帮大家少走弯路：&lt;/p&gt;&lt;h3&gt;5.1 接口请求规范（防限流、防封禁）&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;严格控制频率&lt;/strong&gt;：单 IP 每秒请求不超过 1 次，批量监控建议轮询周期设置为 3~5 分钟以上，不要高频轰炸接口；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;分时监控&lt;/strong&gt;：如果监控商品数量超过 20 个，建议拆分监控列表，分时段抓取，避免单次请求量过大；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;错误重试机制&lt;/strong&gt;：代码中可拓展重试逻辑，接口返回超时 / 失败时，间隔 3 秒重试 1-2 次即可，不要无限重试。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;5.2 选品规则二次优化&lt;/h3&gt;&lt;p&gt;大家可以根据自己的类目，基于代码拓展筛选逻辑，举两个实用例子：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;低价爆款筛选&lt;/strong&gt;：在解析数据后，增加判断 &lt;code&gt;if 销量&amp;gt;500 and 售价&amp;lt;30&lt;/code&gt;，自动筛选低价引流款；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;高利润商品筛选&lt;/strong&gt;：结合售价、发货地，过滤包邮 / 偏远地区商品，筛选高毛利货源。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;5.3 部署方案（实现 24 小时运行）&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;本地挂机&lt;/strong&gt;：个人使用直接在电脑后台运行脚本即可，适合小规模监控；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;服务器部署&lt;/strong&gt;：长期监控建议部署到轻量云服务器，搭配&lt;code&gt;nohup&lt;/code&gt;命令后台运行，关闭远程窗口也不会中断；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;日志记录&lt;/strong&gt;：可拓展 Python 日志库&lt;code&gt;logging&lt;/code&gt;，将预警信息写入本地日志文件，方便事后复盘。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;5.4 合规提醒&lt;/h3&gt;&lt;p&gt;本方案仅用于个人电商选品、竞品分析等合法场景，&lt;strong&gt;禁止用于恶意爬虫、数据倒卖、批量违规采集&lt;/strong&gt;，严格遵守接口使用协议与电商平台规则。&lt;/p&gt;&lt;h2&gt;六、拓展方向（进阶玩法）&lt;/h2&gt;&lt;p&gt;这套基础框架可以不断拓展功能，适配更多业务场景：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;对接表格&lt;/strong&gt;：将抓取的商品数据自动写入 Excel/CSV，生成每日选品报表；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;消息推送&lt;/strong&gt;：接入企业微信、钉钉、邮箱接口，异动预警不再局限于控制台，实时推送消息提醒；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;关键词选品&lt;/strong&gt;：结合淘宝搜索接口，批量抓取搜索结果商品，实现关键词维度的全域选品；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;数据可视化&lt;/strong&gt;：搭配 Matplotlib、Pandas，绘制价格、销量趋势图表，直观分析商品生命周期。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;总结&lt;/h2&gt;&lt;p&gt;手动选品的时代早已过去，借助接口 + 轻量化工具搭建自动化体系，是提升电商运营效率的关键。本文这套基于淘宝&lt;code&gt;taobao.item_get_pro&lt;/code&gt;接口与 Open Claw 的方案，代码简洁、门槛低、实用性强，新手看完就能上手。&lt;/p&gt;&lt;p&gt;&lt;span data-cke-copybin-end=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Thu, 11 Jun 2026 18:06:27 +0800</pubDate></item><item><title>告别手动盯品！OpenClaw 结合淘宝商品 API，搭建自动化选品监控系统（附完整代码）</title><link>https://shopapi.com.cn/?id=177</link><description>&lt;p&gt;&lt;span data-cke-copybin-start=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;做电商、无货源带货、跨境铺货的朋友应该都深有体会，选品和商品监控是日常最耗费精力的环节。每天手动刷新淘宝页面，查看竞品价格变动、销量走势、库存状态、标题主图修改，不仅效率低下，还很容易错过爆款苗头、价格漏洞和违规预警。尤其做多店铺、多品类运营时，人工盯盘几乎难以覆盖全部商品。&lt;/p&gt;&lt;p&gt;最近我一直在摸索低成本、易落地的自动化方案，尝试用&lt;strong&gt;OpenClaw&lt;/strong&gt;搭配成熟的淘宝商品数据接口，搭建一套轻量化的选品监控工具。不用复杂的爬虫框架，不用部署服务器，普通开发者、电商运营新手都能快速上手，实现商品数据定时抓取、异常告警、数据归档，完美解决人工选品的痛点。今天就把整套实操流程、接口调用逻辑和可直接运行的代码分享出来，全程干货，拿来就能用。&lt;/p&gt;&lt;h2&gt;一、方案整体思路&lt;/h2&gt;&lt;p&gt;先简单梳理下整套工具的运行逻辑，方便大家理解后续代码和配置：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;核心能力拆解&lt;/strong&gt;：借助第三方淘宝商品详情 API，合法合规获取商品核心数据（标题、售价、原价、销量、库存、类目、sku 信息、商品状态等），规避原生爬虫反爬、IP 封禁、签名校验等难题。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;OpenClaw 赋能&lt;/strong&gt;：利用 OpenClaw 的定时任务、循环调用、数据预处理能力，实现&lt;strong&gt;批量商品轮询监控&lt;/strong&gt;、&lt;strong&gt;历史数据对比&lt;/strong&gt;、&lt;strong&gt;规则判断告警&lt;/strong&gt;，替代人工重复操作。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;落地场景&lt;/strong&gt;：爆款潜力挖掘（监控销量暴涨商品）、竞品价格监控（对手调价实时提醒）、库存预警（断货 / 补货监测）、违规商品筛查（标题 / 主图变更）、长期选品数据归档。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;整套方案最大的优势是&lt;strong&gt;低门槛、低成本、稳定性强&lt;/strong&gt;。接口负责数据源获取，OpenClaw 负责自动化调度和逻辑判断，两者结合无需深耕爬虫技术，专注于选品规则即可。&lt;/p&gt;&lt;h2&gt;二、前期准备工作&lt;/h2&gt;&lt;p&gt;在写代码和配置任务之前，先完成基础准备，这是接口正常调用的前提：&lt;/p&gt;&lt;h3&gt;1. 接口权限准备&lt;/h3&gt;&lt;p&gt;本次使用淘宝商品详情查询接口（&lt;code&gt;taobao.item_get_pro&lt;/code&gt;），该接口可返回商品全维度结构化数据。&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;注册对应接口平台账号，获取专属 &lt;code&gt;Apipkey&lt;/code&gt; 和 &lt;code&gt;Apisecret&lt;/code&gt;（接口调用身份凭证）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;了解接口基础规则：请求方式为 HTTP GET/POST，返回标准 JSON 格式数据，支持单商品 ID 查询，接口地址固定；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;确认接口调用配额，个人日常监控、中小团队选品完全够用。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;2. OpenClaw 基础配置&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;安装并启动 OpenClaw，新建独立任务组，专门用于电商选品监控；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;开启任务定时功能，可设置轮询频率（建议普通监控 5-10 分钟一次，爆款盯盘 1-3 分钟一次，避免高频调用触发接口限流）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;开启日志记录功能，方便后续排查调用失败、数据异常等问题。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;3. 开发环境&lt;/h3&gt;&lt;p&gt;本次以&lt;strong&gt;Python&lt;/strong&gt;为例编写调用代码（Python 生态适配绝大多数自动化工具，语法简单），本地仅需安装基础请求库：&lt;/p&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;0&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22pip%20install%20requests%20%20%23%20%E7%BD%91%E7%BB%9C%E8%AF%B7%E6%B1%82%E5%BA%93%EF%BC%8C%E7%94%A8%E4%BA%8E%E8%B0%83%E7%94%A8API%5Cnpip%20install%20json%20%20%20%20%20%20%23%20%E5%86%85%E7%BD%AE%E5%BA%93%EF%BC%8C%E6%97%A0%E9%9C%80%E9%A2%9D%E5%A4%96%E5%AE%89%E8%A3%85%EF%BC%8C%E8%A7%A3%E6%9E%90%E8%BF%94%E5%9B%9E%E6%95%B0%E6%8D%AE%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;pip&amp;nbsp;install&amp;nbsp;requests&amp;nbsp;&amp;nbsp;#&amp;nbsp;网络请求库，用于调用API
pip&amp;nbsp;install&amp;nbsp;json&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;内置库，无需额外安装，解析返回数据&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h2&gt;三、完整代码实现（Python 接口调用 + 选品监控逻辑）&lt;/h2&gt;&lt;p&gt;下面分为&lt;strong&gt;基础接口调用代码&lt;/strong&gt;、&lt;strong&gt;批量监控 + 规则判断代码&lt;/strong&gt;两个部分，代码附带详细注释，可直接复制运行，也可导入 OpenClaw 执行。&lt;/p&gt;&lt;h3&gt;3.1 单商品数据查询（基础版）&lt;/h3&gt;&lt;p&gt;该代码实现输入淘宝商品 ID，调用接口获取商品完整信息，打印核心选品字段，适合单款商品精准监控。&lt;/p&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;1&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22import%20requests%5Cnimport%20json%5Cn%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20%E5%9F%BA%E7%A1%80%E9%85%8D%E7%BD%AE%EF%BC%88%E8%87%AA%E8%A1%8C%E4%BF%AE%E6%94%B9%EF%BC%89%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%23%20%E6%8E%A5%E5%8F%A3%E8%AF%B7%E6%B1%82%E5%9C%B0%E5%9D%80%5CnAPI_URL%20%3D%20%5C%22https%3A%2F%2Fopen.onebound.cn%2Ftaobao%2Fitem_get_pro%5C%22%5Cn%23%20%E4%BD%A0%E7%9A%84%E6%8E%A5%E5%8F%A3%E5%AF%86%E9%92%A5%EF%BC%88%E6%9B%BF%E6%8D%A2%E4%B8%BA%E8%87%AA%E5%B7%B1%E7%9A%84Appkey%EF%BC%89%5CnAPP_KEY%20%3D%20%5C%22%E4%BD%A0%E7%9A%84Appkey%5C%22%5Cn%23%20%E5%BE%85%E7%9B%91%E6%8E%A7%E7%9A%84%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81ID%EF%BC%88%E5%8F%AF%E5%9C%A8%E5%95%86%E5%93%81%E9%93%BE%E6%8E%A5%E4%B8%AD%E8%8E%B7%E5%8F%96%EF%BC%89%5CnITEM_ID%20%3D%20%5C%22789654123000%5C%22%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%5Cndef%20get_taobao_item_info(item_id)%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%5Cn%20%20%20%20%E8%B0%83%E7%94%A8%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81%E8%AF%A6%E6%83%85API%EF%BC%8C%E8%8E%B7%E5%8F%96%E5%95%86%E5%93%81%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%3Aparam%20item_id%3A%20%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81ID%5Cn%20%20%20%20%3Areturn%3A%20%E7%BB%93%E6%9E%84%E5%8C%96%E5%95%86%E5%93%81%E6%95%B0%E6%8D%AE%2FNone%EF%BC%88%E8%B0%83%E7%94%A8%E5%A4%B1%E8%B4%A5%EF%BC%89%5Cn%20%20%20%20%5C%22%5C%22%5C%22%5Cn%20%20%20%20%23%20%E7%BB%84%E8%A3%85%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%5Cn%20%20%20%20params%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%5C%22key%5C%22%3A%20APP_KEY%2C%5Cn%20%20%20%20%20%20%20%20%5C%22itemid%5C%22%3A%20item_id%2C%5Cn%20%20%20%20%20%20%20%20%5C%22format%5C%22%3A%20%5C%22json%5C%22%20%20%23%20%E6%8C%87%E5%AE%9A%E8%BF%94%E5%9B%9E%E6%A0%BC%E5%BC%8F%E4%B8%BAJSON%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20%23%20%E5%8F%91%E9%80%81GET%E8%AF%B7%E6%B1%82%E8%B0%83%E7%94%A8%E6%8E%A5%E5%8F%A3%5Cn%20%20%20%20%20%20%20%20response%20%3D%20requests.get(url%3DAPI_URL%2C%20params%3Dparams%2C%20timeout%3D10)%5Cn%20%20%20%20%20%20%20%20%23%20%E7%8A%B6%E6%80%81%E7%A0%81%E5%88%A4%E6%96%AD%5Cn%20%20%20%20%20%20%20%20if%20response.status_code%20!%3D%20200%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E6%8E%A5%E5%8F%A3%E8%AF%B7%E6%B1%82%E5%A4%B1%E8%B4%A5%EF%BC%8C%E7%8A%B6%E6%80%81%E7%A0%81%EF%BC%9A%7Bresponse.status_code%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20return%20None%5Cn%20%20%20%20%20%20%20%20%5Cn%20%20%20%20%20%20%20%20%23%20%E8%A7%A3%E6%9E%90JSON%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%20%20%20%20res_data%20%3D%20json.loads(response.text)%5Cn%20%20%20%20%20%20%20%20%23%20%E5%88%A4%E6%96%AD%E6%8E%A5%E5%8F%A3%E8%BF%94%E5%9B%9E%E7%8A%B6%E6%80%81%5Cn%20%20%20%20%20%20%20%20if%20res_data.get(%5C%22code%5C%22)%20!%3D%20200%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E6%95%B0%E6%8D%AE%E8%8E%B7%E5%8F%96%E5%A4%B1%E8%B4%A5%EF%BC%9A%7Bres_data.get(&amp;#39;msg&amp;#39;%2C%20&amp;#39;%E6%9C%AA%E7%9F%A5%E9%94%99%E8%AF%AF&amp;#39;)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20return%20None%5Cn%20%20%20%20%20%20%20%20%5Cn%20%20%20%20%20%20%20%20%23%20%E6%8F%90%E5%8F%96%E6%A0%B8%E5%BF%83%E5%95%86%E5%93%81%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%20%20%20%20item_data%20%3D%20res_data.get(%5C%22data%5C%22%2C%20%7B%7D)%5Cn%20%20%20%20%20%20%20%20return%20item_data%5Cn%5Cn%20%20%20%20except%20Exception%20as%20e%3A%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E8%AF%B7%E6%B1%82%E5%BC%82%E5%B8%B8%EF%BC%9A%7Bstr(e)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20return%20None%5Cn%5Cn%23%20%E4%B8%BB%E7%A8%8B%E5%BA%8F%E6%89%A7%E8%A1%8C%5Cnif%20__name__%20%3D%3D%20%5C%22__main__%5C%22%3A%5Cn%20%20%20%20item_result%20%3D%20get_taobao_item_info(ITEM_ID)%5Cn%20%20%20%20if%20item_result%3A%5Cn%20%20%20%20%20%20%20%20print(%5C%22%3D%3D%3D%3D%3D%20%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81%E6%A0%B8%E5%BF%83%E9%80%89%E5%93%81%E6%95%B0%E6%8D%AE%20%3D%3D%3D%3D%3D%5C%22)%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E5%95%86%E5%93%81%E6%A0%87%E9%A2%98%EF%BC%9A%7Bitem_result.get(&amp;#39;title&amp;#39;)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E7%8E%B0%E4%BB%B7%EF%BC%9A%7Bitem_result.get(&amp;#39;price&amp;#39;)%7D%20%E5%85%83%5C%22)%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E5%8E%9F%E4%BB%B7%EF%BC%9A%7Bitem_result.get(&amp;#39;org_price&amp;#39;)%7D%20%E5%85%83%5C%22)%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E7%B4%AF%E8%AE%A1%E9%94%80%E9%87%8F%EF%BC%9A%7Bitem_result.get(&amp;#39;sales&amp;#39;)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E5%BA%93%E5%AD%98%E6%95%B0%E9%87%8F%EF%BC%9A%7Bitem_result.get(&amp;#39;stock&amp;#39;)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E5%95%86%E5%93%81%E7%B1%BB%E7%9B%AE%EF%BC%9A%7Bitem_result.get(&amp;#39;category&amp;#39;)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E5%95%86%E5%93%81%E7%8A%B6%E6%80%81%EF%BC%9A%7B&amp;#39;%E6%AD%A3%E5%B8%B8%E5%9C%A8%E5%94%AE&amp;#39;%20if%20item_result.get(&amp;#39;status&amp;#39;)%20%3D%3D%20&amp;#39;1&amp;#39;%20else%20&amp;#39;%E4%B8%8B%E6%9E%B6%2F%E8%BF%9D%E8%A7%84&amp;#39;%7D%5C%22)%5Cn%20%20%20%20else%3A%5Cn%20%20%20%20%20%20%20%20print(%5C%22%E6%9C%AA%E8%8E%B7%E5%8F%96%E5%88%B0%E5%95%86%E5%93%81%E6%95%B0%E6%8D%AE%EF%BC%8C%E8%AF%B7%E6%A3%80%E6%9F%A5%E5%95%86%E5%93%81ID%E5%92%8C%E6%8E%A5%E5%8F%A3%E5%AF%86%E9%92%A5%5C%22)%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;import&amp;nbsp;requests
import&amp;nbsp;json

#&amp;nbsp;====================&amp;nbsp;基础配置（自行修改）====================
#&amp;nbsp;接口请求地址
API_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://open.onebound.cn/taobao/item_get_pro&amp;quot;
#&amp;nbsp;你的接口密钥（替换为自己的Appkey）
APP_KEY&amp;nbsp;=&amp;nbsp;&amp;quot;你的Appkey&amp;quot;
#&amp;nbsp;待监控的淘宝商品ID（可在商品链接中获取）
ITEM_ID&amp;nbsp;=&amp;nbsp;&amp;quot;789654123000&amp;quot;
#&amp;nbsp;==========================================================

def&amp;nbsp;get_taobao_item_info(item_id):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;调用淘宝商品详情API，获取商品数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:param&amp;nbsp;item_id:&amp;nbsp;淘宝商品ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:return:&amp;nbsp;结构化商品数据/None（调用失败）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;组装请求参数
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;key&amp;quot;:&amp;nbsp;APP_KEY,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;itemid&amp;quot;:&amp;nbsp;item_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;format&amp;quot;:&amp;nbsp;&amp;quot;json&amp;quot;&amp;nbsp;&amp;nbsp;#&amp;nbsp;指定返回格式为JSON
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;发送GET请求调用接口
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;requests.get(url=API_URL,&amp;nbsp;params=params,&amp;nbsp;timeout=10)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;状态码判断
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;response.status_code&amp;nbsp;!=&amp;nbsp;200:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;接口请求失败，状态码：{response.status_code}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;解析JSON数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;res_data&amp;nbsp;=&amp;nbsp;json.loads(response.text)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;判断接口返回状态
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;res_data.get(&amp;quot;code&amp;quot;)&amp;nbsp;!=&amp;nbsp;200:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;数据获取失败：{res_data.get(&amp;#39;msg&amp;#39;,&amp;nbsp;&amp;#39;未知错误&amp;#39;)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;提取核心商品数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_data&amp;nbsp;=&amp;nbsp;res_data.get(&amp;quot;data&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;item_data

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;Exception&amp;nbsp;as&amp;nbsp;e:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;请求异常：{str(e)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None

#&amp;nbsp;主程序执行
if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_result&amp;nbsp;=&amp;nbsp;get_taobao_item_info(ITEM_ID)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;item_result:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;=====&amp;nbsp;淘宝商品核心选品数据&amp;nbsp;=====&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;商品标题：{item_result.get(&amp;#39;title&amp;#39;)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;现价：{item_result.get(&amp;#39;price&amp;#39;)}&amp;nbsp;元&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;原价：{item_result.get(&amp;#39;org_price&amp;#39;)}&amp;nbsp;元&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;累计销量：{item_result.get(&amp;#39;sales&amp;#39;)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;库存数量：{item_result.get(&amp;#39;stock&amp;#39;)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;商品类目：{item_result.get(&amp;#39;category&amp;#39;)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;商品状态：{&amp;#39;正常在售&amp;#39;&amp;nbsp;if&amp;nbsp;item_result.get(&amp;#39;status&amp;#39;)&amp;nbsp;==&amp;nbsp;&amp;#39;1&amp;#39;&amp;nbsp;else&amp;nbsp;&amp;#39;下架/违规&amp;#39;}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;未获取到商品数据，请检查商品ID和接口密钥&amp;quot;)&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;3.2 批量监控 + 异常告警（进阶版，适配 OpenClaw 定时任务）&lt;/h3&gt;&lt;p&gt;日常选品基本都是批量监控多款商品，此版本增加&lt;strong&gt;商品列表批量遍历&lt;/strong&gt;、&lt;strong&gt;价格异常判断&lt;/strong&gt;、&lt;strong&gt;销量暴涨判断&lt;/strong&gt;、&lt;strong&gt;下架告警&lt;/strong&gt;三大核心选品规则，完美适配 OpenClaw 定时轮询，每次运行自动检测所有监控商品，输出告警信息。&lt;/p&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;2&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22import%20requests%5Cnimport%20json%5Cnimport%20time%5Cn%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20%E8%87%AA%E5%AE%9A%E4%B9%89%E9%85%8D%E7%BD%AE%E5%8C%BA%EF%BC%88%E9%87%8D%E7%82%B9%E4%BF%AE%E6%94%B9%EF%BC%89%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5CnAPI_URL%20%3D%20%5C%22https%3A%2F%2Fopen.onebound.cn%2Ftaobao%2Fitem_get_pro%5C%22%5CnAPP_KEY%20%3D%20%5C%22%E4%BD%A0%E7%9A%84Appkey%5C%22%5Cn%23%20%E6%89%B9%E9%87%8F%E7%9B%91%E6%8E%A7%E7%9A%84%E5%95%86%E5%93%81ID%E5%88%97%E8%A1%A8%EF%BC%8C%E5%8F%AF%E6%97%A0%E9%99%90%E6%B7%BB%E5%8A%A0%5CnMONITOR_ITEM_LIST%20%3D%20%5B%5Cn%20%20%20%20%5C%22789654123000%5C%22%2C%5Cn%20%20%20%20%5C%22123456789000%5C%22%2C%5Cn%20%20%20%20%5C%22456789123000%5C%22%5Cn%5D%5Cn%23%20%E7%9B%91%E6%8E%A7%E8%A7%84%E5%88%99%E9%85%8D%E7%BD%AE%5CnPRICE_CHANGE_RATIO%20%3D%200.1%20%20%23%20%E4%BB%B7%E6%A0%BC%E6%B3%A2%E5%8A%A8%E9%98%88%E5%80%BC%EF%BC%9A%E6%B6%A8%E8%B7%8C%E8%B6%85%E8%BF%8710%25%E8%A7%A6%E5%8F%91%E5%91%8A%E8%AD%A6%5CnSALES_SURGE_THRESHOLD%20%3D%20500%20%20%23%20%E5%8D%95%E6%AC%A1%E8%BD%AE%E8%AF%A2%E9%94%80%E9%87%8F%E5%A2%9E%E5%8A%A0500%2B%E5%88%A4%E5%AE%9A%E4%B8%BA%E7%88%86%E6%AC%BE%E8%8B%97%E5%A4%B4%5Cn%23%20%E6%9C%AC%E5%9C%B0%E7%BC%93%E5%AD%98%E5%8E%86%E5%8F%B2%E6%95%B0%E6%8D%AE%EF%BC%88%E7%AE%80%E5%8D%95%E5%86%85%E5%AD%98%E7%BC%93%E5%AD%98%EF%BC%8C%E9%87%8D%E5%90%AF%E5%90%8E%E6%B8%85%E7%A9%BA%EF%BC%8C%E8%BF%9B%E9%98%B6%E5%8F%AF%E6%8E%A5%E5%85%A5%E6%9C%AC%E5%9C%B0%E6%96%87%E4%BB%B6%2F%E6%95%B0%E6%8D%AE%E5%BA%93%EF%BC%89%5Cnhistory_data%20%3D%20%7B%7D%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%5Cndef%20get_single_item(item_id)%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E8%8E%B7%E5%8F%96%E5%8D%95%E4%B8%AA%E5%95%86%E5%93%81%E6%95%B0%E6%8D%AE%5C%22%5C%22%5C%22%5Cn%20%20%20%20params%20%3D%20%7B%5C%22key%5C%22%3A%20APP_KEY%2C%20%5C%22itemid%5C%22%3A%20item_id%2C%20%5C%22format%5C%22%3A%20%5C%22json%5C%22%7D%5Cn%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20res%20%3D%20requests.get(API_URL%2C%20params%3Dparams%2C%20timeout%3D10)%5Cn%20%20%20%20%20%20%20%20data%20%3D%20json.loads(res.text)%5Cn%20%20%20%20%20%20%20%20if%20data.get(%5C%22code%5C%22)%20%3D%3D%20200%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20return%20data.get(%5C%22data%5C%22%2C%20%7B%7D)%5Cn%20%20%20%20%20%20%20%20return%20None%5Cn%20%20%20%20except%3A%5Cn%20%20%20%20%20%20%20%20return%20None%5Cn%5Cndef%20monitor_rule_check(item_id%2C%20current_data)%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%5Cn%20%20%20%20%E9%80%89%E5%93%81%E7%9B%91%E6%8E%A7%E8%A7%84%E5%88%99%E6%A0%A1%E9%AA%8C%5Cn%20%20%20%20%3Aparam%20item_id%3A%20%E5%95%86%E5%93%81ID%5Cn%20%20%20%20%3Aparam%20current_data%3A%20%E5%BD%93%E5%89%8D%E5%95%86%E5%93%81%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%3Areturn%3A%20%E5%91%8A%E8%AD%A6%E4%BF%A1%E6%81%AF%E5%88%97%E8%A1%A8%5Cn%20%20%20%20%5C%22%5C%22%5C%22%5Cn%20%20%20%20alert_list%20%3D%20%5B%5D%5Cn%20%20%20%20current_price%20%3D%20float(current_data.get(%5C%22price%5C%22%2C%200))%5Cn%20%20%20%20current_sales%20%3D%20int(current_data.get(%5C%22sales%5C%22%2C%200))%5Cn%20%20%20%20item_status%20%3D%20current_data.get(%5C%22status%5C%22)%5Cn%20%20%20%20item_title%20%3D%20current_data.get(%5C%22title%5C%22%2C%20%5C%22%E6%9C%AA%E7%9F%A5%E5%95%86%E5%93%81%5C%22)%5Cn%5Cn%20%20%20%20%23%20%E8%A7%84%E5%88%991%EF%BC%9A%E5%95%86%E5%93%81%E4%B8%8B%E6%9E%B6%2F%E8%BF%9D%E8%A7%84%E5%91%8A%E8%AD%A6%5Cn%20%20%20%20if%20item_status%20!%3D%20%5C%221%5C%22%3A%5Cn%20%20%20%20%20%20%20%20alert_list.append(f%5C%22%E3%80%90%E5%91%8A%E8%AD%A6%E3%80%91%E5%95%86%E5%93%81%E3%80%8A%7Bitem_title%7D%E3%80%8B%E5%B7%B2%E4%B8%8B%E6%9E%B6%E6%88%96%E8%BF%9D%E8%A7%84%EF%BC%81ID%EF%BC%9A%7Bitem_id%7D%5C%22)%5Cn%5Cn%20%20%20%20%23%20%E8%A7%84%E5%88%992%EF%BC%9A%E5%AF%B9%E6%AF%94%E5%8E%86%E5%8F%B2%E6%95%B0%E6%8D%AE%EF%BC%8C%E5%88%A4%E6%96%AD%E4%BB%B7%E6%A0%BC%E3%80%81%E9%94%80%E9%87%8F%E5%BC%82%E5%B8%B8%5Cn%20%20%20%20if%20item_id%20in%20history_data%3A%5Cn%20%20%20%20%20%20%20%20old_data%20%3D%20history_data%5Bitem_id%5D%5Cn%20%20%20%20%20%20%20%20old_price%20%3D%20float(old_data.get(%5C%22price%5C%22%2C%200))%5Cn%20%20%20%20%20%20%20%20old_sales%20%3D%20int(old_data.get(%5C%22sales%5C%22%2C%200))%5Cn%5Cn%20%20%20%20%20%20%20%20%23%20%E4%BB%B7%E6%A0%BC%E6%B3%A2%E5%8A%A8%E6%A3%80%E6%B5%8B%5Cn%20%20%20%20%20%20%20%20if%20old_price%20%3E%200%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20price_diff%20%3D%20abs(current_price%20-%20old_price)%20%2F%20old_price%5Cn%20%20%20%20%20%20%20%20%20%20%20%20if%20price_diff%20%3E%20PRICE_CHANGE_RATIO%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20alert_list.append(%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%5C%22%E3%80%90%E4%BB%B7%E6%A0%BC%E5%BC%82%E5%8A%A8%E3%80%91%E5%95%86%E5%93%81%E3%80%8A%7Bitem_title%7D%E3%80%8B%E4%BB%B7%E6%A0%BC%E6%B3%A2%E5%8A%A8%E8%B6%85%7BPRICE_CHANGE_RATIO*100%7D%25%20%5C%22%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%5C%22%E5%8E%9F%E4%BB%B7%EF%BC%9A%7Bold_price%7D%E5%85%83%EF%BC%8C%E7%8E%B0%E4%BB%B7%EF%BC%9A%7Bcurrent_price%7D%E5%85%83%5C%22%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20)%5Cn%5Cn%20%20%20%20%20%20%20%20%23%20%E9%94%80%E9%87%8F%E6%9A%B4%E6%B6%A8%E6%A3%80%E6%B5%8B%EF%BC%88%E7%88%86%E6%AC%BE%E6%8C%96%E6%8E%98%EF%BC%89%5Cn%20%20%20%20%20%20%20%20sales_increase%20%3D%20current_sales%20-%20old_sales%5Cn%20%20%20%20%20%20%20%20if%20sales_increase%20%3E%3D%20SALES_SURGE_THRESHOLD%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20alert_list.append(%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%5C%22%E3%80%90%E7%88%86%E6%AC%BE%E9%A2%84%E8%AD%A6%E3%80%91%E5%95%86%E5%93%81%E3%80%8A%7Bitem_title%7D%E3%80%8B%E9%94%80%E9%87%8F%E6%BF%80%E5%A2%9E%EF%BC%81%E6%9C%AC%E8%BD%AE%E6%96%B0%E5%A2%9E%E9%94%80%E9%87%8F%EF%BC%9A%7Bsales_increase%7D%5C%22%5Cn%20%20%20%20%20%20%20%20%20%20%20%20)%5Cn%5Cn%20%20%20%20%23%20%E6%9B%B4%E6%96%B0%E5%8E%86%E5%8F%B2%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20history_data%5Bitem_id%5D%20%3D%20current_data%5Cn%20%20%20%20return%20alert_list%5Cn%5Cndef%20batch_monitor()%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E6%89%B9%E9%87%8F%E5%95%86%E5%93%81%E7%9B%91%E6%8E%A7%E4%B8%BB%E5%87%BD%E6%95%B0%EF%BC%88OpenClaw%E5%AE%9A%E6%97%B6%E8%B0%83%E7%94%A8%E5%85%A5%E5%8F%A3%EF%BC%89%5C%22%5C%22%5C%22%5Cn%20%20%20%20print(f%5C%22%5C%5Cn%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20%E5%BC%80%E5%A7%8B%E6%89%B9%E9%87%8F%E9%80%89%E5%93%81%E7%9B%91%E6%8E%A7%20%E6%97%B6%E9%97%B4%EF%BC%9A%7Btime.strftime(&amp;#39;%25Y-%25m-%25d%20%25H%3A%25M%3A%25S&amp;#39;)%7D%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5C%22)%5Cn%20%20%20%20total_alert%20%3D%20%5B%5D%5Cn%5Cn%20%20%20%20for%20item_id%20in%20MONITOR_ITEM_LIST%3A%5Cn%20%20%20%20%20%20%20%20item_info%20%3D%20get_single_item(item_id)%5Cn%20%20%20%20%20%20%20%20if%20not%20item_info%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20total_alert.append(f%5C%22%E3%80%90%E5%BC%82%E5%B8%B8%E3%80%91%E5%95%86%E5%93%81ID%EF%BC%9A%7Bitem_id%7D%20%E6%95%B0%E6%8D%AE%E8%8E%B7%E5%8F%96%E5%A4%B1%E8%B4%A5%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20continue%5Cn%20%20%20%20%20%20%20%20%5Cn%20%20%20%20%20%20%20%20%23%20%E6%89%A7%E8%A1%8C%E8%A7%84%E5%88%99%E6%A0%A1%E9%AA%8C%5Cn%20%20%20%20%20%20%20%20alerts%20%3D%20monitor_rule_check(item_id%2C%20item_info)%5Cn%20%20%20%20%20%20%20%20total_alert.extend(alerts)%5Cn%5Cn%20%20%20%20%23%20%E7%BB%9F%E4%B8%80%E8%BE%93%E5%87%BA%E6%89%80%E6%9C%89%E5%91%8A%E8%AD%A6%E4%BF%A1%E6%81%AF%5Cn%20%20%20%20if%20total_alert%3A%5Cn%20%20%20%20%20%20%20%20for%20alert%20in%20total_alert%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(alert)%5Cn%20%20%20%20else%3A%5Cn%20%20%20%20%20%20%20%20print(%5C%22%E6%9C%AC%E6%AC%A1%E7%9B%91%E6%8E%A7%EF%BC%9A%E6%89%80%E6%9C%89%E5%95%86%E5%93%81%E6%95%B0%E6%8D%AE%E6%AD%A3%E5%B8%B8%EF%BC%8C%E6%97%A0%E5%BC%82%E5%B8%B8%E5%91%8A%E8%AD%A6%5C%22)%5Cn%5Cn%23%20%E7%A8%8B%E5%BA%8F%E5%85%A5%E5%8F%A3%EF%BC%88OpenClaw%E7%9B%B4%E6%8E%A5%E8%B0%83%E7%94%A8%E6%AD%A4%E5%87%BD%E6%95%B0%E5%8D%B3%E5%8F%AF%EF%BC%89%5Cnif%20__name__%20%3D%3D%20%5C%22__main__%5C%22%3A%5Cn%20%20%20%20%23%20%E5%8D%95%E6%AC%A1%E8%BF%90%E8%A1%8C%E6%89%B9%E9%87%8F%E7%9B%91%E6%8E%A7%5Cn%20%20%20%20batch_monitor()%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;import&amp;nbsp;requests
import&amp;nbsp;json
import&amp;nbsp;time

#&amp;nbsp;====================&amp;nbsp;自定义配置区（重点修改）====================
API_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://open.onebound.cn/taobao/item_get_pro&amp;quot;
APP_KEY&amp;nbsp;=&amp;nbsp;&amp;quot;你的Appkey&amp;quot;
#&amp;nbsp;批量监控的商品ID列表，可无限添加
MONITOR_ITEM_LIST&amp;nbsp;=&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;789654123000&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;123456789000&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;456789123000&amp;quot;
]
#&amp;nbsp;监控规则配置
PRICE_CHANGE_RATIO&amp;nbsp;=&amp;nbsp;0.1&amp;nbsp;&amp;nbsp;#&amp;nbsp;价格波动阈值：涨跌超过10%触发告警
SALES_SURGE_THRESHOLD&amp;nbsp;=&amp;nbsp;500&amp;nbsp;&amp;nbsp;#&amp;nbsp;单次轮询销量增加500+判定为爆款苗头
#&amp;nbsp;本地缓存历史数据（简单内存缓存，重启后清空，进阶可接入本地文件/数据库）
history_data&amp;nbsp;=&amp;nbsp;{}
#&amp;nbsp;=================================================================

def&amp;nbsp;get_single_item(item_id):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;获取单个商品数据&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{&amp;quot;key&amp;quot;:&amp;nbsp;APP_KEY,&amp;nbsp;&amp;quot;itemid&amp;quot;:&amp;nbsp;item_id,&amp;nbsp;&amp;quot;format&amp;quot;:&amp;nbsp;&amp;quot;json&amp;quot;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;res&amp;nbsp;=&amp;nbsp;requests.get(API_URL,&amp;nbsp;params=params,&amp;nbsp;timeout=10)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;json.loads(res.text)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;data.get(&amp;quot;code&amp;quot;)&amp;nbsp;==&amp;nbsp;200:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;data.get(&amp;quot;data&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None

def&amp;nbsp;monitor_rule_check(item_id,&amp;nbsp;current_data):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;选品监控规则校验
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:param&amp;nbsp;item_id:&amp;nbsp;商品ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:param&amp;nbsp;current_data:&amp;nbsp;当前商品数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:return:&amp;nbsp;告警信息列表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert_list&amp;nbsp;=&amp;nbsp;[]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_price&amp;nbsp;=&amp;nbsp;float(current_data.get(&amp;quot;price&amp;quot;,&amp;nbsp;0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_sales&amp;nbsp;=&amp;nbsp;int(current_data.get(&amp;quot;sales&amp;quot;,&amp;nbsp;0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_status&amp;nbsp;=&amp;nbsp;current_data.get(&amp;quot;status&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_title&amp;nbsp;=&amp;nbsp;current_data.get(&amp;quot;title&amp;quot;,&amp;nbsp;&amp;quot;未知商品&amp;quot;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;规则1：商品下架/违规告警
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;item_status&amp;nbsp;!=&amp;nbsp;&amp;quot;1&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert_list.append(f&amp;quot;【告警】商品《{item_title}》已下架或违规！ID：{item_id}&amp;quot;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;规则2：对比历史数据，判断价格、销量异常
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;item_id&amp;nbsp;in&amp;nbsp;history_data:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;old_data&amp;nbsp;=&amp;nbsp;history_data[item_id]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;old_price&amp;nbsp;=&amp;nbsp;float(old_data.get(&amp;quot;price&amp;quot;,&amp;nbsp;0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;old_sales&amp;nbsp;=&amp;nbsp;int(old_data.get(&amp;quot;sales&amp;quot;,&amp;nbsp;0))

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;价格波动检测
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;old_price&amp;nbsp;&amp;gt;&amp;nbsp;0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_diff&amp;nbsp;=&amp;nbsp;abs(current_price&amp;nbsp;-&amp;nbsp;old_price)&amp;nbsp;/&amp;nbsp;old_price
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;price_diff&amp;nbsp;&amp;gt;&amp;nbsp;PRICE_CHANGE_RATIO:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert_list.append(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f&amp;quot;【价格异动】商品《{item_title}》价格波动超{PRICE_CHANGE_RATIO*100}%&amp;nbsp;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f&amp;quot;原价：{old_price}元，现价：{current_price}元&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;销量暴涨检测（爆款挖掘）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sales_increase&amp;nbsp;=&amp;nbsp;current_sales&amp;nbsp;-&amp;nbsp;old_sales
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;sales_increase&amp;nbsp;&amp;gt;=&amp;nbsp;SALES_SURGE_THRESHOLD:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert_list.append(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f&amp;quot;【爆款预警】商品《{item_title}》销量激增！本轮新增销量：{sales_increase}&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;更新历史数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;history_data[item_id]&amp;nbsp;=&amp;nbsp;current_data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;alert_list

def&amp;nbsp;batch_monitor():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;批量商品监控主函数（OpenClaw定时调用入口）&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;\n==========&amp;nbsp;开始批量选品监控&amp;nbsp;时间：{time.strftime(&amp;#39;%Y-%m-%d&amp;nbsp;%H:%M:%S&amp;#39;)}&amp;nbsp;==========&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;total_alert&amp;nbsp;=&amp;nbsp;[]

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;item_id&amp;nbsp;in&amp;nbsp;MONITOR_ITEM_LIST:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_info&amp;nbsp;=&amp;nbsp;get_single_item(item_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;item_info:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;total_alert.append(f&amp;quot;【异常】商品ID：{item_id}&amp;nbsp;数据获取失败&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;执行规则校验
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alerts&amp;nbsp;=&amp;nbsp;monitor_rule_check(item_id,&amp;nbsp;item_info)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;total_alert.extend(alerts)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;统一输出所有告警信息
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;total_alert:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;alert&amp;nbsp;in&amp;nbsp;total_alert:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(alert)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;本次监控：所有商品数据正常，无异常告警&amp;quot;)

#&amp;nbsp;程序入口（OpenClaw直接调用此函数即可）
if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;单次运行批量监控
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;batch_monitor()&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h2&gt;四、OpenClaw 任务配置（自动化定时运行）&lt;/h2&gt;&lt;p&gt;代码编写完成后，核心步骤就是接入 OpenClaw，实现&lt;strong&gt;无人值守自动化监控&lt;/strong&gt;，操作步骤非常简单：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;导入脚本&lt;/strong&gt;：打开 OpenClaw，新建&lt;code&gt;Python脚本任务&lt;/code&gt;，将上面「批量监控版代码」完整粘贴到编辑区；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;参数核对&lt;/strong&gt;：再次检查代码内的&lt;code&gt;APP_KEY&lt;/code&gt;、&lt;code&gt;MONITOR_ITEM_LIST&lt;/code&gt;（监控商品 ID）、监控阈值，确保配置无误；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;设置定时规则&lt;/strong&gt;
	&lt;/p&gt;&lt;/li&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;常规选品监控：设置&lt;strong&gt;每 10 分钟执行一次&lt;/strong&gt;，兼顾稳定性和时效性；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;爆款重点盯盘：针对潜力商品，单独新建任务，设置&lt;strong&gt;每 2 分钟执行一次&lt;/strong&gt;；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;夜间低峰期：可降低轮询频率，减少接口调用次数。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;告警输出配置&lt;/strong&gt;
	&lt;/p&gt;&lt;/li&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;开启 OpenClaw 日志弹窗，运行后实时查看告警；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;进阶玩法：结合 OpenClaw 消息推送插件，将异常信息推送至微信 / 企业微信，手机远程接收提醒；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;启动任务&lt;/strong&gt;：保存配置，点击「启动任务」，工具开始 7×24 小时自动监控。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;五、选品实战用法与拓展优化&lt;/h2&gt;&lt;h3&gt;5.1 基础选品使用技巧&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;竞品监控&lt;/strong&gt;：把同行头部店铺商品 ID 加入监控列表，一旦对方降价、改标题、冲销量，第一时间收到提醒，快速调整自身运营策略；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;爆款挖掘&lt;/strong&gt;：筛选类目下新品、低价商品加入列表，依靠「销量暴涨规则」捕捉自然流量爆发的潜力款，抢占铺货先机；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;库存风控&lt;/strong&gt;：无货源商家重点监控货源商品，一旦商品下架、库存清零，及时下架自身链接，避免超卖；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;价格套利&lt;/strong&gt;：监控活动商品，大促前后价格波动会触发告警，把握低价补货、高价上架的时机。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;5.2 进阶优化方向（根据自身需求升级）&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;数据持久化&lt;/strong&gt;：目前代码使用内存缓存历史数据，重启后数据清空。可新增&lt;code&gt;txt&lt;/code&gt;文件、&lt;code&gt;SQLite&lt;/code&gt;轻量数据库，长期存储每日价格、销量数据，生成趋势报表；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;多接口容错&lt;/strong&gt;：添加备用接口地址，当主接口调用失败时自动切换，提升监控稳定性；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;SKU 细分监控&lt;/strong&gt;：接口返回数据中包含 SKU 信息，可二次开发，单独监控不同规格商品的价格和库存；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;关键词筛选&lt;/strong&gt;：结合商品标题，添加关键词告警（如标题新增 “清仓”“特价” 等词汇），丰富选品维度。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;六、注意事项（避坑指南）&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;接口调用规范&lt;/strong&gt;：严格遵守接口平台调用频率限制，不要无限制高频请求，避免账号限流、封禁；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;合法合规使用&lt;/strong&gt;：本方案基于官方开放接口获取公开商品数据，仅用于个人选品、运营分析，禁止用于恶意爬取、侵权倒卖数据等违规行为；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;商品 ID 有效性&lt;/strong&gt;：淘宝下架、删除的商品无法获取数据，定期清理监控列表中的无效 ID，减少无效调用；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;密钥安全&lt;/strong&gt;：&lt;code&gt;Appkey&lt;/code&gt;属于私密凭证，不要随意分享、上传至公共平台，防止被他人盗用。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;七、总结&lt;/h2&gt;&lt;p&gt;对于电商从业者、副业带货、数据运营来说，&lt;strong&gt;自动化工具 + 开放 API&lt;/strong&gt;是提升效率的核心玩法。这套基于 OpenClaw 和淘宝商品接口的选品监控方案，抛开了复杂的爬虫逆向、反爬对抗，用最简单的代码和配置实现刚需功能。&lt;/p&gt;&lt;p&gt;从手动一遍遍刷页面，到机器 7×24 小时自动盯盘、智能告警，不仅解放了双手，还能更早发现市场机会和风险。文中的两段代码均可直接落地运行，新手按照步骤替换密钥和商品 ID，10 分钟就能搭建好属于自己的选品监控系统。&lt;/p&gt;&lt;p&gt;&lt;span data-cke-copybin-end=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Tue, 09 Jun 2026 14:34:43 +0800</pubDate></item><item><title>实战教程：借助 Open Claw + 淘宝商品 API，低成本实现电商自动化监控与智能选品</title><link>https://shopapi.com.cn/?id=176</link><description>&lt;p&gt;&lt;span data-cke-copybin-start=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;做电商运营、跨境带货、电商数据分析的朋友应该都深有体会，人工选品、盯商品数据、监控竞品动态是一件极度耗费时间的事。每天要反复翻看海量商品，核对销量、价格、标题、库存、评价等数据，不仅效率低下，还很容易错过爆款机会、察觉不到竞品调价动作。&lt;/p&gt;&lt;p&gt;今天就结合实战经验，分享一套&lt;strong&gt;基于 Open Claw + 淘宝开放接口&lt;/strong&gt;的自动化解决方案，无需复杂爬虫搭建，通过标准化 API 接口稳定获取商品全量数据，搭配 Open Claw 的自动化调度能力，一键实现商品监控、批量选品、数据实时抓取。全文附带可直接运行的代码，新手也能快速上手，适用于个人卖家、电商运营、数据爱好者等人群。&lt;/p&gt;&lt;h2&gt;一、方案整体思路与优势&lt;/h2&gt;&lt;h3&gt;1. 核心组合逻辑&lt;/h3&gt;&lt;p&gt;淘宝官方及第三方标准化商品接口可以合法、稳定地调取商品基础信息、销售数据、规格参数等内容；Open Claw 作为轻量化自动化调度工具，能够定时触发接口请求、批量处理数据、设置监控规则，二者结合可以搭建一套&lt;strong&gt;无值守电商选品监控系统&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;整体流程：获取接口调用权限 → 编写请求代码拉取淘宝商品数据 → 接入 Open Claw 配置定时任务 / 监控规则 → 自动筛选潜力商品、预警价格 / 库存变动 → 数据落地本地 / 表格做二次分析。&lt;/p&gt;&lt;h3&gt;2. 对比传统方式的核心优势&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;稳定性强&lt;/strong&gt;：不同于网页爬虫容易被反爬、IP 封禁，正规 API 接口有专属调用通道，数据返回稳定，长期运行无压力；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;效率翻倍&lt;/strong&gt;：告别人工翻页统计，单次请求可批量获取数十条商品数据，定时任务自动执行，全天候监控；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;上手简单&lt;/strong&gt;：无需深入学习爬虫协议、解析网页源码，接口返回标准 JSON 格式数据，解析难度极低；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;灵活拓展&lt;/strong&gt;：可自定义选品规则（销量阈值、价格区间、类目筛选等），适配服饰、美妆、家居等全品类选品需求。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;二、前期准备工作&lt;/h2&gt;&lt;p&gt;在编写代码和配置自动化任务前，先完成基础环境与权限准备，全程 5 分钟即可搞定。&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;获取接口调用凭证&lt;/strong&gt; 前往接口开放平台完成账号注册，申请淘宝商品查询接口（本文使用&lt;code&gt;taobao.item_get_pro&lt;/code&gt; 商品详情高阶接口），记录平台分配的 &lt;strong&gt;Appkey&lt;/strong&gt; 和 &lt;strong&gt;Secret&lt;/strong&gt;，这是调用接口的核心凭证，务必妥善保管。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;本地运行环境&lt;/strong&gt; 安装 Python 3.8 及以上版本（主流编程语言，生态完善，接口请求、数据解析、自动化调度都适配），额外安装两个必备依赖库：&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;0&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22%23%20%E6%89%A7%E8%A1%8C%E5%91%BD%E4%BB%A4%E5%AE%89%E8%A3%85%E4%BE%9D%E8%B5%96%5Cnpip%20install%20requests%20%20%23%20%E7%94%A8%E4%BA%8E%E5%8F%91%E9%80%81HTTP%E6%8E%A5%E5%8F%A3%E8%AF%B7%E6%B1%82%5Cnpip%20install%20schedule%20%20%23%20%E5%9F%BA%E7%A1%80%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1%E5%BA%93%EF%BC%88%E6%90%AD%E9%85%8DOpen%20Claw%E4%BD%BF%E7%94%A8%EF%BC%89%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;#&amp;nbsp;执行命令安装依赖
pip&amp;nbsp;install&amp;nbsp;requests&amp;nbsp;&amp;nbsp;#&amp;nbsp;用于发送HTTP接口请求
pip&amp;nbsp;install&amp;nbsp;schedule&amp;nbsp;&amp;nbsp;#&amp;nbsp;基础定时任务库（搭配Open&amp;nbsp;Claw使用）&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3.Open Claw 基础配置&lt;/strong&gt; 安装并启动 Open Claw 客户端，新建一个&lt;strong&gt;自动化任务组&lt;/strong&gt;，后续将 Python 脚本接入任务调度，设置轮询周期（如 5 分钟 / 10 分钟监控一次）。&lt;/p&gt;&lt;h2&gt;三、核心代码实战（Python 版，可直接运行）&lt;/h2&gt;&lt;p&gt;接下来分模块编写代码，包含&lt;strong&gt;单商品数据查询、批量商品抓取、基础数据筛选、异常监控&lt;/strong&gt;四大核心功能，代码注释详细，复制修改参数即可使用。&lt;/p&gt;&lt;h3&gt;3.1 基础接口请求模块（获取淘宝商品详情）&lt;/h3&gt;&lt;p&gt;该模块用于调用&lt;code&gt;taobao.item_get_pro&lt;/code&gt;接口，传入商品 ID，返回商品标题、价格、销量、库存、主图、类目等全维度数据，是整个系统的基础。&lt;/p&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;1&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22import%20requests%5Cnimport%20json%5Cn%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20%E8%AF%B7%E8%87%AA%E8%A1%8C%E4%BF%AE%E6%94%B9%E4%BB%A5%E4%B8%8B%E9%85%8D%E7%BD%AE%E5%8F%82%E6%95%B0%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%23%20%E6%8E%A5%E5%8F%A3%E8%AF%B7%E6%B1%82%E5%9C%B0%E5%9D%80%5CnAPI_URL%20%3D%20%5C%22https%3A%2F%2Fopen.onebound.cn%2Ftaobao%2Fitem_get_pro%5C%22%5Cn%23%20%E4%BD%A0%E7%9A%84%E6%8E%A5%E5%8F%A3%E5%AF%86%E9%92%A5%EF%BC%88%E5%B9%B3%E5%8F%B0%E7%94%B3%E8%AF%B7%E8%8E%B7%E5%8F%96%EF%BC%89%5CnAPP_KEY%20%3D%20%5C%22%E4%BD%A0%E7%9A%84Appkey%5C%22%5CnAPP_SECRET%20%3D%20%5C%22%E4%BD%A0%E7%9A%84Secret%5C%22%5Cn%23%20%E7%9B%AE%E6%A0%87%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81ID%EF%BC%88%E5%8F%AF%E5%9C%A8%E5%95%86%E5%93%81%E8%AF%A6%E6%83%85%E9%A1%B5URL%E4%B8%AD%E6%8F%90%E5%8F%96%EF%BC%89%5CnTARGET_ITEM_ID%20%3D%20%5C%22689012345678%5C%22%5Cn%5Cndef%20get_taobao_item_detail(item_id%3A%20str)%20-%3E%20dict%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%5Cn%20%20%20%20%E8%B0%83%E7%94%A8%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81%E9%AB%98%E9%98%B6%E6%8E%A5%E5%8F%A3%EF%BC%8C%E8%8E%B7%E5%8F%96%E5%8D%95%E6%AC%BE%E5%95%86%E5%93%81%E5%AE%8C%E6%95%B4%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%3Aparam%20item_id%3A%20%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81ID%5Cn%20%20%20%20%3Areturn%3A%20%E5%95%86%E5%93%81%E7%BB%93%E6%9E%84%E5%8C%96%E6%95%B0%E6%8D%AE%E5%AD%97%E5%85%B8%5Cn%20%20%20%20%5C%22%5C%22%5C%22%5Cn%20%20%20%20%23%20%E7%BB%84%E8%A3%85%E6%8E%A5%E5%8F%A3%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%5Cn%20%20%20%20params%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%5C%22appkey%5C%22%3A%20APP_KEY%2C%5Cn%20%20%20%20%20%20%20%20%5C%22secret%5C%22%3A%20APP_SECRET%2C%5Cn%20%20%20%20%20%20%20%20%5C%22num_iid%5C%22%3A%20item_id%2C%20%20%23%20%E5%95%86%E5%93%81ID%EF%BC%8C%E6%8E%A5%E5%8F%A3%E5%9B%BA%E5%AE%9A%E5%AD%97%E6%AE%B5%5Cn%20%20%20%20%20%20%20%20%5C%22format%5C%22%3A%20%5C%22json%5C%22%20%20%20%20%20%23%20%E6%8C%87%E5%AE%9A%E8%BF%94%E5%9B%9E%E6%95%B0%E6%8D%AE%E6%A0%BC%E5%BC%8F%E4%B8%BAJSON%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20%23%20%E5%8F%91%E9%80%81GET%E8%AF%B7%E6%B1%82%E8%B0%83%E7%94%A8%E6%8E%A5%E5%8F%A3%5Cn%20%20%20%20%20%20%20%20response%20%3D%20requests.get(url%3DAPI_URL%2C%20params%3Dparams%2C%20timeout%3D10)%5Cn%20%20%20%20%20%20%20%20%23%20%E8%A7%A3%E6%9E%90JSON%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%20%20%20%20result%20%3D%20response.json()%5Cn%5Cn%20%20%20%20%20%20%20%20%23%20%E6%8E%A5%E5%8F%A3%E7%8A%B6%E6%80%81%E5%88%A4%E6%96%AD%5Cn%20%20%20%20%20%20%20%20if%20result.get(%5C%22code%5C%22)%20!%3D%200%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E6%8E%A5%E5%8F%A3%E8%B0%83%E7%94%A8%E5%A4%B1%E8%B4%A5%EF%BC%9A%7Bresult.get(&amp;#39;msg&amp;#39;)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20return%20%7B%7D%5Cn%20%20%20%20%20%20%20%20%5Cn%20%20%20%20%20%20%20%20%23%20%E6%8F%90%E5%8F%96%E6%A0%B8%E5%BF%83%E5%95%86%E5%93%81%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%20%20%20%20item_data%20%3D%20result.get(%5C%22data%5C%22%2C%20%7B%7D)%5Cn%20%20%20%20%20%20%20%20return%20item_data%5Cn%5Cn%20%20%20%20except%20Exception%20as%20e%3A%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E8%AF%B7%E6%B1%82%E5%BC%82%E5%B8%B8%EF%BC%8C%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%EF%BC%9A%7Bstr(e)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20return%20%7B%7D%5Cn%5Cn%23%20%E6%B5%8B%E8%AF%95%E5%8D%95%E5%95%86%E5%93%81%E6%9F%A5%E8%AF%A2%5Cnif%20__name__%20%3D%3D%20%5C%22__main__%5C%22%3A%5Cn%20%20%20%20item_info%20%3D%20get_taobao_item_detail(TARGET_ITEM_ID)%5Cn%20%20%20%20if%20item_info%3A%5Cn%20%20%20%20%20%20%20%20print(%5C%22%3D%3D%3D%3D%3D%20%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81%E5%9F%BA%E7%A1%80%E4%BF%A1%E6%81%AF%20%3D%3D%3D%3D%3D%5C%22)%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E5%95%86%E5%93%81%E6%A0%87%E9%A2%98%EF%BC%9A%7Bitem_info.get(&amp;#39;title&amp;#39;)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E7%8E%B0%E4%BB%B7%EF%BC%9A%7Bitem_info.get(&amp;#39;price&amp;#39;)%7D%20%E5%85%83%5C%22)%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E5%8E%9F%E4%BB%B7%EF%BC%9A%7Bitem_info.get(&amp;#39;org_price&amp;#39;)%7D%20%E5%85%83%5C%22)%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E7%B4%AF%E8%AE%A1%E9%94%80%E9%87%8F%EF%BC%9A%7Bitem_info.get(&amp;#39;sales&amp;#39;)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E5%BA%93%E5%AD%98%E6%95%B0%E9%87%8F%EF%BC%9A%7Bitem_info.get(&amp;#39;stock&amp;#39;)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E6%89%80%E5%B1%9E%E7%B1%BB%E7%9B%AE%EF%BC%9A%7Bitem_info.get(&amp;#39;category_name&amp;#39;)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E5%95%86%E5%93%81%E9%93%BE%E6%8E%A5%EF%BC%9A%7Bitem_info.get(&amp;#39;item_url&amp;#39;)%7D%5C%22)%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;import&amp;nbsp;requests
import&amp;nbsp;json

#&amp;nbsp;==========&amp;nbsp;请自行修改以下配置参数&amp;nbsp;==========
#&amp;nbsp;接口请求地址
API_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://open.onebound.cn/taobao/item_get_pro&amp;quot;
#&amp;nbsp;你的接口密钥（平台申请获取）
APP_KEY&amp;nbsp;=&amp;nbsp;&amp;quot;你的Appkey&amp;quot;
APP_SECRET&amp;nbsp;=&amp;nbsp;&amp;quot;你的Secret&amp;quot;
#&amp;nbsp;目标淘宝商品ID（可在商品详情页URL中提取）
TARGET_ITEM_ID&amp;nbsp;=&amp;nbsp;&amp;quot;689012345678&amp;quot;

def&amp;nbsp;get_taobao_item_detail(item_id:&amp;nbsp;str)&amp;nbsp;-&amp;gt;&amp;nbsp;dict:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;调用淘宝商品高阶接口，获取单款商品完整数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:param&amp;nbsp;item_id:&amp;nbsp;淘宝商品ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:return:&amp;nbsp;商品结构化数据字典
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;组装接口请求参数
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;appkey&amp;quot;:&amp;nbsp;APP_KEY,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;secret&amp;quot;:&amp;nbsp;APP_SECRET,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;num_iid&amp;quot;:&amp;nbsp;item_id,&amp;nbsp;&amp;nbsp;#&amp;nbsp;商品ID，接口固定字段
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;format&amp;quot;:&amp;nbsp;&amp;quot;json&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;指定返回数据格式为JSON
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;发送GET请求调用接口
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;requests.get(url=API_URL,&amp;nbsp;params=params,&amp;nbsp;timeout=10)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;解析JSON数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;response.json()

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;接口状态判断
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;result.get(&amp;quot;code&amp;quot;)&amp;nbsp;!=&amp;nbsp;0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;接口调用失败：{result.get(&amp;#39;msg&amp;#39;)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;{}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;提取核心商品数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_data&amp;nbsp;=&amp;nbsp;result.get(&amp;quot;data&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;item_data

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;Exception&amp;nbsp;as&amp;nbsp;e:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;请求异常，错误信息：{str(e)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;{}

#&amp;nbsp;测试单商品查询
if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_info&amp;nbsp;=&amp;nbsp;get_taobao_item_detail(TARGET_ITEM_ID)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;item_info:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;=====&amp;nbsp;淘宝商品基础信息&amp;nbsp;=====&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;商品标题：{item_info.get(&amp;#39;title&amp;#39;)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;现价：{item_info.get(&amp;#39;price&amp;#39;)}&amp;nbsp;元&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;原价：{item_info.get(&amp;#39;org_price&amp;#39;)}&amp;nbsp;元&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;累计销量：{item_info.get(&amp;#39;sales&amp;#39;)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;库存数量：{item_info.get(&amp;#39;stock&amp;#39;)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;所属类目：{item_info.get(&amp;#39;category_name&amp;#39;)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;商品链接：{item_info.get(&amp;#39;item_url&amp;#39;)}&amp;quot;)&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;3.2 批量抓取 + 智能选品模块&lt;/h3&gt;&lt;p&gt;单商品查询仅适用于竞品监控，选品场景需要&lt;strong&gt;批量遍历商品 ID 列表&lt;/strong&gt;，并自定义规则筛选潜力款。这里设置通用选品规则：价格 10-100 元、销量大于 500、库存充足，大家可根据类目自行调整规则。&lt;/p&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;2&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22def%20batch_item_filter(item_id_list%3A%20list)%20-%3E%20list%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%5Cn%20%20%20%20%E6%89%B9%E9%87%8F%E6%8A%93%E5%8F%96%E5%95%86%E5%93%81%E6%95%B0%E6%8D%AE%EF%BC%8C%E5%B9%B6%E6%A0%B9%E6%8D%AE%E8%A7%84%E5%88%99%E7%AD%9B%E9%80%89%E6%BD%9C%E5%8A%9B%E9%80%89%E5%93%81%5Cn%20%20%20%20%3Aparam%20item_id_list%3A%20%E5%95%86%E5%93%81ID%E5%88%97%E8%A1%A8%5Cn%20%20%20%20%3Areturn%3A%20%E7%AD%9B%E9%80%89%E5%90%8E%E7%9A%84%E4%BC%98%E8%B4%A8%E5%95%86%E5%93%81%E5%88%97%E8%A1%A8%5Cn%20%20%20%20%5C%22%5C%22%5C%22%5Cn%20%20%20%20good_items%20%3D%20%5B%5D%5Cn%20%20%20%20%23%20%E9%81%8D%E5%8E%86%E6%89%80%E6%9C%89%E5%95%86%E5%93%81ID%EF%BC%8C%E9%80%90%E4%B8%AA%E6%9F%A5%E8%AF%A2%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20for%20item_id%20in%20item_id_list%3A%5Cn%20%20%20%20%20%20%20%20data%20%3D%20get_taobao_item_detail(item_id)%5Cn%20%20%20%20%20%20%20%20if%20not%20data%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20continue%5Cn%20%20%20%20%20%20%20%20%5Cn%20%20%20%20%20%20%20%20%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20%E8%87%AA%E5%AE%9A%E4%B9%89%E9%80%89%E5%93%81%E8%A7%84%E5%88%99%EF%BC%88%E5%8F%AF%E6%8C%89%E9%9C%80%E4%BF%AE%E6%94%B9%EF%BC%89%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%20%20%20%20%20%20%20%20price%20%3D%20float(data.get(%5C%22price%5C%22%2C%200))%5Cn%20%20%20%20%20%20%20%20sales%20%3D%20int(data.get(%5C%22sales%5C%22%2C%200))%5Cn%20%20%20%20%20%20%20%20stock%20%3D%20int(data.get(%5C%22stock%5C%22%2C%200))%5Cn%20%20%20%20%20%20%20%20%23%20%E8%A7%84%E5%88%991%EF%BC%9A%E4%BB%B7%E6%A0%BC%E5%8C%BA%E9%97%B4%2010~100%E5%85%83%EF%BC%9B%E8%A7%84%E5%88%992%EF%BC%9A%E9%94%80%E9%87%8F%E5%A4%A7%E4%BA%8E500%EF%BC%9B%E8%A7%84%E5%88%993%EF%BC%9A%E5%BA%93%E5%AD%98%E5%A4%A7%E4%BA%8E10%5Cn%20%20%20%20%20%20%20%20if%2010%20%3C%3D%20price%20%3C%3D%20100%20and%20sales%20%3E%20500%20and%20stock%20%3E%2010%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20good_items.append(%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%22item_id%5C%22%3A%20item_id%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%22title%5C%22%3A%20data.get(%5C%22title%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%22price%5C%22%3A%20price%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%22sales%5C%22%3A%20sales%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%22stock%5C%22%3A%20stock%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%22item_url%5C%22%3A%20data.get(%5C%22item_url%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%7D)%5Cn%20%20%20%20return%20good_items%5Cn%5Cn%23%20%E6%89%B9%E9%87%8F%E9%80%89%E5%93%81%E6%B5%8B%E8%AF%95%5Cnif%20__name__%20%3D%3D%20%5C%22__main__%5C%22%3A%5Cn%20%20%20%20%23%20%E5%BE%85%E7%9B%91%E6%8E%A7%2F%E9%80%89%E5%93%81%E7%9A%84%E5%95%86%E5%93%81ID%E9%9B%86%E5%90%88%5Cn%20%20%20%20item_ids%20%3D%20%5B%5Cn%20%20%20%20%20%20%20%20%5C%22689012345678%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%5C%22689012345679%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%5C%22689012345680%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%5C%22689012345681%5C%22%5Cn%20%20%20%20%5D%5Cn%20%20%20%20%23%20%E6%89%A7%E8%A1%8C%E7%AD%9B%E9%80%89%5Cn%20%20%20%20result_list%20%3D%20batch_item_filter(item_ids)%5Cn%20%20%20%20print(f%5C%22%5C%5Cn%3D%3D%3D%3D%3D%20%E7%AD%9B%E9%80%89%E5%87%BA%20%7Blen(result_list)%7D%20%E6%AC%BE%E6%BD%9C%E5%8A%9B%E5%95%86%E5%93%81%20%3D%3D%3D%3D%3D%5C%22)%5Cn%20%20%20%20for%20item%20in%20result_list%3A%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E3%80%90%7Bitem%5B&amp;#39;title&amp;#39;%5D%7D%E3%80%91%E4%BB%B7%E6%A0%BC%EF%BC%9A%7Bitem%5B&amp;#39;price&amp;#39;%5D%7D%E5%85%83%20%7C%20%E9%94%80%E9%87%8F%EF%BC%9A%7Bitem%5B&amp;#39;sales&amp;#39;%5D%7D%20%7C%20%E9%93%BE%E6%8E%A5%EF%BC%9A%7Bitem%5B&amp;#39;item_url&amp;#39;%5D%7D%5C%22)%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;def&amp;nbsp;batch_item_filter(item_id_list:&amp;nbsp;list)&amp;nbsp;-&amp;gt;&amp;nbsp;list:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;批量抓取商品数据，并根据规则筛选潜力选品
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:param&amp;nbsp;item_id_list:&amp;nbsp;商品ID列表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:return:&amp;nbsp;筛选后的优质商品列表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;good_items&amp;nbsp;=&amp;nbsp;[]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;遍历所有商品ID，逐个查询数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;item_id&amp;nbsp;in&amp;nbsp;item_id_list:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;get_taobao_item_detail(item_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;data:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;==========&amp;nbsp;自定义选品规则（可按需修改）&amp;nbsp;==========
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price&amp;nbsp;=&amp;nbsp;float(data.get(&amp;quot;price&amp;quot;,&amp;nbsp;0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sales&amp;nbsp;=&amp;nbsp;int(data.get(&amp;quot;sales&amp;quot;,&amp;nbsp;0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stock&amp;nbsp;=&amp;nbsp;int(data.get(&amp;quot;stock&amp;quot;,&amp;nbsp;0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;规则1：价格区间&amp;nbsp;10~100元；规则2：销量大于500；规则3：库存大于10
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;10&amp;nbsp;&amp;lt;=&amp;nbsp;price&amp;nbsp;&amp;lt;=&amp;nbsp;100&amp;nbsp;and&amp;nbsp;sales&amp;nbsp;&amp;gt;&amp;nbsp;500&amp;nbsp;and&amp;nbsp;stock&amp;nbsp;&amp;gt;&amp;nbsp;10:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;good_items.append({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;item_id&amp;quot;:&amp;nbsp;item_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;title&amp;quot;:&amp;nbsp;data.get(&amp;quot;title&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;price&amp;quot;:&amp;nbsp;price,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;sales&amp;quot;:&amp;nbsp;sales,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;stock&amp;quot;:&amp;nbsp;stock,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;item_url&amp;quot;:&amp;nbsp;data.get(&amp;quot;item_url&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;good_items

#&amp;nbsp;批量选品测试
if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;待监控/选品的商品ID集合
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_ids&amp;nbsp;=&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;689012345678&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;689012345679&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;689012345680&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;689012345681&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;执行筛选
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result_list&amp;nbsp;=&amp;nbsp;batch_item_filter(item_ids)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;\n=====&amp;nbsp;筛选出&amp;nbsp;{len(result_list)}&amp;nbsp;款潜力商品&amp;nbsp;=====&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;item&amp;nbsp;in&amp;nbsp;result_list:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;【{item[&amp;#39;title&amp;#39;]}】价格：{item[&amp;#39;price&amp;#39;]}元&amp;nbsp;|&amp;nbsp;销量：{item[&amp;#39;sales&amp;#39;]}&amp;nbsp;|&amp;nbsp;链接：{item[&amp;#39;item_url&amp;#39;]}&amp;quot;)&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;3.3 实时监控预警模块（价格 / 库存变动）&lt;/h3&gt;&lt;p&gt;电商运营核心需求之一：&lt;strong&gt;监控竞品调价、商品断货&lt;/strong&gt;。该模块会定时抓取商品数据，对比历史数据，一旦价格、库存发生变动，立即输出预警信息，搭配 Open Claw 可实现 7×24 小时监控。&lt;/p&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;3&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22import%20schedule%5Cnimport%20time%5Cn%5Cn%23%20%E5%AD%98%E5%82%A8%E5%95%86%E5%93%81%E5%8E%86%E5%8F%B2%E6%95%B0%E6%8D%AE%EF%BC%88%E7%94%A8%E4%BA%8E%E5%AF%B9%E6%AF%94%E5%8F%98%E5%8A%A8%EF%BC%89%5Cnhistory_data%20%3D%20%7B%7D%5Cn%23%20%E7%9B%91%E6%8E%A7%E7%9A%84%E5%95%86%E5%93%81ID%E5%88%97%E8%A1%A8%5CnMONITOR_ITEM_IDS%20%3D%20%5B%5C%22689012345678%5C%22%2C%20%5C%22689012345679%5C%22%5D%5Cn%5Cndef%20monitor_item_change()%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E5%95%86%E5%93%81%E5%8F%98%E5%8A%A8%E7%9B%91%E6%8E%A7%E4%B8%BB%E5%87%BD%E6%95%B0%EF%BC%8C%E5%AE%9A%E6%97%B6%E6%89%A7%E8%A1%8C%5C%22%5C%22%5C%22%5Cn%20%20%20%20global%20history_data%5Cn%20%20%20%20print(f%5C%22%5C%5Cn%E3%80%90%7Btime.strftime(&amp;#39;%25Y-%25m-%25d%20%25H%3A%25M%3A%25S&amp;#39;)%7D%E3%80%91%E5%BC%80%E5%A7%8B%E6%96%B0%E4%B8%80%E8%BD%AE%E7%9B%91%E6%8E%A7...%5C%22)%5Cn%5Cn%20%20%20%20for%20item_id%20in%20MONITOR_ITEM_IDS%3A%5Cn%20%20%20%20%20%20%20%20current_data%20%3D%20get_taobao_item_detail(item_id)%5Cn%20%20%20%20%20%20%20%20if%20not%20current_data%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20continue%5Cn%20%20%20%20%20%20%20%20%5Cn%20%20%20%20%20%20%20%20%23%20%E9%A6%96%E6%AC%A1%E7%9B%91%E6%8E%A7%EF%BC%8C%E5%88%9D%E5%A7%8B%E5%8C%96%E5%8E%86%E5%8F%B2%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%20%20%20%20if%20item_id%20not%20in%20history_data%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20history_data%5Bitem_id%5D%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%22price%5C%22%3A%20current_data.get(%5C%22price%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%22stock%5C%22%3A%20current_data.get(%5C%22stock%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E5%88%9D%E5%A7%8B%E5%8C%96%E5%95%86%E5%93%81%E3%80%90%7Bcurrent_data.get(&amp;#39;title&amp;#39;)%7D%E3%80%91%E7%9B%91%E6%8E%A7%E6%95%B0%E6%8D%AE%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20continue%5Cn%20%20%20%20%20%20%20%20%5Cn%20%20%20%20%20%20%20%20%23%20%E5%AF%B9%E6%AF%94%E5%8E%86%E5%8F%B2%E6%95%B0%E6%8D%AE%EF%BC%8C%E5%88%A4%E6%96%AD%E5%8F%98%E5%8A%A8%5Cn%20%20%20%20%20%20%20%20old_price%20%3D%20history_data%5Bitem_id%5D%5B%5C%22price%5C%22%5D%5Cn%20%20%20%20%20%20%20%20old_stock%20%3D%20history_data%5Bitem_id%5D%5B%5C%22stock%5C%22%5D%5Cn%20%20%20%20%20%20%20%20new_price%20%3D%20current_data.get(%5C%22price%5C%22)%5Cn%20%20%20%20%20%20%20%20new_stock%20%3D%20current_data.get(%5C%22stock%5C%22)%5Cn%20%20%20%20%20%20%20%20title%20%3D%20current_data.get(%5C%22title%5C%22)%5Cn%5Cn%20%20%20%20%20%20%20%20%23%20%E4%BB%B7%E6%A0%BC%E5%8F%98%E5%8A%A8%E9%A2%84%E8%AD%A6%5Cn%20%20%20%20%20%20%20%20if%20old_price%20!%3D%20new_price%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E2%9A%A0%EF%B8%8F%20%E4%BB%B7%E6%A0%BC%E9%A2%84%E8%AD%A6%EF%BC%9A%7Btitle%7D%20%E5%8E%9F%E4%BB%B7%7Bold_price%7D%E5%85%83%20%E2%86%92%20%E7%8E%B0%E4%BB%B7%7Bnew_price%7D%E5%85%83%5C%22)%5Cn%20%20%20%20%20%20%20%20%23%20%E5%BA%93%E5%AD%98%E5%8F%98%E5%8A%A8%E9%A2%84%E8%AD%A6%EF%BC%88%E5%BA%93%E5%AD%98%E4%BD%8E%E4%BA%8E5%E8%A7%A6%E5%8F%91%E6%96%AD%E8%B4%A7%E6%8F%90%E9%86%92%EF%BC%89%5Cn%20%20%20%20%20%20%20%20if%20int(new_stock)%20%3C%205%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E2%9A%A0%EF%B8%8F%20%E5%BA%93%E5%AD%98%E9%A2%84%E8%AD%A6%EF%BC%9A%7Btitle%7D%20%E5%BA%93%E5%AD%98%E4%BB%85%E5%89%A9%7Bnew_stock%7D%E4%BB%B6%EF%BC%8C%E5%8D%B3%E5%B0%86%E6%96%AD%E8%B4%A7%EF%BC%81%5C%22)%5Cn%20%20%20%20%20%20%20%20elif%20old_stock%20!%3D%20new_stock%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E2%84%B9%EF%B8%8F%20%E5%BA%93%E5%AD%98%E5%8F%98%E5%8A%A8%EF%BC%9A%7Btitle%7D%20%E5%BA%93%E5%AD%98%7Bold_stock%7D%20%E2%86%92%20%7Bnew_stock%7D%5C%22)%5Cn%5Cn%20%20%20%20%20%20%20%20%23%20%E6%9B%B4%E6%96%B0%E5%8E%86%E5%8F%B2%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%20%20%20%20history_data%5Bitem_id%5D%5B%5C%22price%5C%22%5D%20%3D%20new_price%5Cn%20%20%20%20%20%20%20%20history_data%5Bitem_id%5D%5B%5C%22stock%5C%22%5D%20%3D%20new_stock%5Cn%5Cn%23%20%E9%85%8D%E7%BD%AE%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1%EF%BC%9A%E6%AF%8F5%E5%88%86%E9%92%9F%E6%89%A7%E8%A1%8C%E4%B8%80%E6%AC%A1%E7%9B%91%E6%8E%A7%5Cnschedule.every(5).minutes.do(monitor_item_change)%5Cn%5Cn%23%20%E5%90%AF%E5%8A%A8%E5%AE%9A%E6%97%B6%E7%9B%91%E6%8E%A7%EF%BC%88%E6%8E%A5%E5%85%A5Open%20Claw%E5%90%8E%EF%BC%8C%E5%8F%AF%E7%94%B1Open%20Claw%E6%89%98%E7%AE%A1%E4%BB%BB%E5%8A%A1%EF%BC%89%5Cnif%20__name__%20%3D%3D%20%5C%22__main__%5C%22%3A%5Cn%20%20%20%20print(%5C%22%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81%E7%9B%91%E6%8E%A7%E7%B3%BB%E7%BB%9F%E5%B7%B2%E5%90%AF%E5%8A%A8%EF%BC%8C%E6%AF%8F5%E5%88%86%E9%92%9F%E8%87%AA%E5%8A%A8%E8%BD%AE%E8%AF%A2...%5C%22)%5Cn%20%20%20%20while%20True%3A%5Cn%20%20%20%20%20%20%20%20schedule.run_pending()%5Cn%20%20%20%20%20%20%20%20time.sleep(1)%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;import&amp;nbsp;schedule
import&amp;nbsp;time

#&amp;nbsp;存储商品历史数据（用于对比变动）
history_data&amp;nbsp;=&amp;nbsp;{}
#&amp;nbsp;监控的商品ID列表
MONITOR_ITEM_IDS&amp;nbsp;=&amp;nbsp;[&amp;quot;689012345678&amp;quot;,&amp;nbsp;&amp;quot;689012345679&amp;quot;]

def&amp;nbsp;monitor_item_change():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;商品变动监控主函数，定时执行&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;global&amp;nbsp;history_data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;\n【{time.strftime(&amp;#39;%Y-%m-%d&amp;nbsp;%H:%M:%S&amp;#39;)}】开始新一轮监控...&amp;quot;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;item_id&amp;nbsp;in&amp;nbsp;MONITOR_ITEM_IDS:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_data&amp;nbsp;=&amp;nbsp;get_taobao_item_detail(item_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;current_data:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;首次监控，初始化历史数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;item_id&amp;nbsp;not&amp;nbsp;in&amp;nbsp;history_data:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;history_data[item_id]&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;price&amp;quot;:&amp;nbsp;current_data.get(&amp;quot;price&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;stock&amp;quot;:&amp;nbsp;current_data.get(&amp;quot;stock&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;初始化商品【{current_data.get(&amp;#39;title&amp;#39;)}】监控数据&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;对比历史数据，判断变动
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;old_price&amp;nbsp;=&amp;nbsp;history_data[item_id][&amp;quot;price&amp;quot;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;old_stock&amp;nbsp;=&amp;nbsp;history_data[item_id][&amp;quot;stock&amp;quot;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new_price&amp;nbsp;=&amp;nbsp;current_data.get(&amp;quot;price&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new_stock&amp;nbsp;=&amp;nbsp;current_data.get(&amp;quot;stock&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title&amp;nbsp;=&amp;nbsp;current_data.get(&amp;quot;title&amp;quot;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;价格变动预警
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;old_price&amp;nbsp;!=&amp;nbsp;new_price:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;⚠️&amp;nbsp;价格预警：{title}&amp;nbsp;原价{old_price}元&amp;nbsp;→&amp;nbsp;现价{new_price}元&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;库存变动预警（库存低于5触发断货提醒）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;int(new_stock)&amp;nbsp;&amp;lt;&amp;nbsp;5:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;⚠️&amp;nbsp;库存预警：{title}&amp;nbsp;库存仅剩{new_stock}件，即将断货！&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elif&amp;nbsp;old_stock&amp;nbsp;!=&amp;nbsp;new_stock:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;ℹ️&amp;nbsp;库存变动：{title}&amp;nbsp;库存{old_stock}&amp;nbsp;→&amp;nbsp;{new_stock}&amp;quot;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;更新历史数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;history_data[item_id][&amp;quot;price&amp;quot;]&amp;nbsp;=&amp;nbsp;new_price
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;history_data[item_id][&amp;quot;stock&amp;quot;]&amp;nbsp;=&amp;nbsp;new_stock

#&amp;nbsp;配置定时任务：每5分钟执行一次监控
schedule.every(5).minutes.do(monitor_item_change)

#&amp;nbsp;启动定时监控（接入Open&amp;nbsp;Claw后，可由Open&amp;nbsp;Claw托管任务）
if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;淘宝商品监控系统已启动，每5分钟自动轮询...&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while&amp;nbsp;True:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;schedule.run_pending()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(1)&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h2&gt;四、结合 Open Claw 实现全自动化调度&lt;/h2&gt;&lt;p&gt;单纯的 Python 脚本可以本地运行，但长时间挂机、多任务并行、远程调度不够便捷，搭配&lt;strong&gt;Open Claw&lt;/strong&gt;可以最大化发挥这套方案的价值，操作步骤简单：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;脚本上传与导入&lt;/strong&gt; 将上述 Python 代码保存为&lt;code&gt;.py&lt;/code&gt;文件，在 Open Claw 中新建&lt;strong&gt;脚本任务&lt;/strong&gt;，上传本地代码文件，指定 Python 运行环境（选择本地已安装的 Python 解释器）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;拆分任务，分类调度&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;选品任务&lt;/strong&gt;：设置每日早 9 点、晚 8 点自动执行批量选品脚本，自动筛选当日潜力爆款；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;监控任务&lt;/strong&gt;：设置 5-10 分钟轮询一次，持续监控核心竞品、店铺爆款的价格与库存；&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;结果输出配置&lt;/strong&gt; 在 Open Claw 中开启&lt;strong&gt;日志记录&lt;/strong&gt;，脚本输出的预警信息、选品结果会自动保存；也可配置本地 Excel 导出，将每日选品数据落地表格，方便复盘分析。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;后台托管运行&lt;/strong&gt; 开启 Open Claw 后台运行模式，关闭本地电脑窗口也不影响任务执行，真正实现&lt;strong&gt;无人值守&lt;/strong&gt;。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;五、实用优化技巧与避坑指南&lt;/h2&gt;&lt;h3&gt;1. 接口调用避坑&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;注意接口调用频率：正规 API 都有调用频次限制，不要设置 1 秒内多次请求，建议最低 3 秒间隔，避免账号限流；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;密钥保密：Appkey 和 Secret 切勿公开分享，防止他人盗用接口额度；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;异常重试：可在代码中增加重试机制，应对网络临时波动。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;2. 选品规则优化&lt;/h3&gt;&lt;p&gt;不同类目适配不同规则：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;快消日用品：优先筛选&lt;strong&gt;高销量、低客单价、高库存&lt;/strong&gt;商品；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;服饰鞋包：重点监控&lt;strong&gt;价格波动、上新时间、评价数量&lt;/strong&gt;；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;小众品类：放宽销量要求，优先看&lt;strong&gt;增长趋势&lt;/strong&gt;。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;3. 功能拓展方向&lt;/h3&gt;&lt;p&gt;基于现有代码可以继续二次开发：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;对接 Excel/CSV，批量导入商品 ID、导出选品报表；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;接入消息推送（企业微信、钉钉），监控预警实时推送至手机；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;结合类目接口，按淘宝一级 / 二级类目全类目遍历选品。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;六、总结&lt;/h2&gt;&lt;p&gt;对于电商从业者来说，自动化数据抓取与监控早已不是加分项，而是提升效率的必备能力。这套&lt;strong&gt;Open Claw + 淘宝商品 API&lt;/strong&gt;的组合方案，摒弃了传统爬虫的高风险、高维护成本问题，依托标准化接口保证稳定性，借助 Open Claw 实现自动化调度，从人工选品升级为智能选品。&lt;/p&gt;&lt;p&gt;&lt;span data-cke-copybin-end=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 07 Jun 2026 17:55:31 +0800</pubDate></item><item><title>电商选品效率翻倍！基于 Open Claw + 淘宝商品 API 实现自动化监控选品（附完整可运行代码）</title><link>https://shopapi.com.cn/?id=175</link><description>&lt;p&gt;&lt;span data-cke-copybin-start=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;做淘宝、电商带货、无货源运营的朋友应该都深有体会，选品是整个运营流程里最耗时、最考验耐心的环节。手动刷榜单、查商品销量、盯价格波动、统计竞品数据，不仅每天要耗费数小时，还很容易因为人工遗漏错过潜力爆款。&lt;/p&gt;&lt;p&gt;尤其是做精细化运营、批量铺货或者竞品监控的从业者，面对海量商品数据，纯人工筛查早已跟不上节奏。今天就结合实战经验，分享一套&lt;strong&gt;Open Claw 搭配淘宝商品详情 API&lt;/strong&gt;的自动化方案，不用复杂爬虫、无需逆向网页，几分钟就能搭建起一套自动化商品监控 + 智能选品工具，新手也能直接上手，代码拿来即用。&lt;/p&gt;&lt;h2&gt;一、方案整体思路&lt;/h2&gt;&lt;p&gt;先简单说下这套组合的优势，也是目前中小电商从业者主流的轻量化自动化方案：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;淘宝商品 API 接口&lt;/strong&gt;：官方合规接口，稳定获取商品基础信息、价格、销量、标题、类目、sku、评价等核心数据，规避网页爬虫封号、IP 封禁、页面改版失效等问题，数据精准且实时性强。本次使用&lt;code&gt;taobao.item_get_pro&lt;/code&gt;接口，可拉取商品全维度详情，满足选品、监控的全部数据需求。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Open Claw 工具&lt;/strong&gt;：轻量化自动化调度工具，擅长接口请求、定时任务、数据解析与本地存储，无需搭建复杂服务器，本地电脑即可运行，支持循环监控、定时轮询、数据筛选，完美承接 API 返回的数据并做二次处理。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;整体流程：Open Claw 发起接口请求 → 调用淘宝商品 API 获取商品原始数据 → 代码解析 JSON 数据 → 自定义筛选规则（销量、价格、类目、利润空间）→ 自动筛选潜力商品 / 监控价格变动 → 本地日志留存结果，全程自动化运行。&lt;/p&gt;&lt;p&gt;这套方案最大的亮点是&lt;strong&gt;低门槛、高稳定、易拓展&lt;/strong&gt;，个人卖家、小型工作室都能直接落地，不用投入额外服务器成本。&lt;/p&gt;&lt;h2&gt;二、前期准备工作&lt;/h2&gt;&lt;p&gt;在写代码和配置任务之前，先把基础环境和密钥准备齐全，一共 3 步，全程 5 分钟搞定：&lt;/p&gt;&lt;h3&gt;1. 环境部署&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;本地安装 Python 3.8 及以上版本（主流脚本语言，适配 Open Claw 所有调度规则），安装时勾选「Add Python to PATH」配置环境变量。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;安装必备依赖库，打开电脑终端 / CMD，执行以下命令：&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;0&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22pip%20install%20requests%20json5%20time%20%20%23%20requests%E7%94%A8%E4%BA%8E%E6%8E%A5%E5%8F%A3%E8%AF%B7%E6%B1%82%EF%BC%8Ctime%E7%94%A8%E4%BA%8E%E5%AE%9A%E6%97%B6%E8%BD%AE%E8%AF%A2%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;pip&amp;nbsp;install&amp;nbsp;requests&amp;nbsp;json5&amp;nbsp;time&amp;nbsp;&amp;nbsp;#&amp;nbsp;requests用于接口请求，time用于定时轮询&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;2. 获取接口调用凭证&lt;/h3&gt;&lt;p&gt;前往接口平台完成注册，获取两个核心参数（接口调用必备）：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;Appkey&lt;/code&gt;：接口身份标识&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;Appsecret&lt;/code&gt;：接口加密密钥&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;接口请求地址：固定为文档地址 &lt;code&gt;https://open.onebound.cn/api/taobao/item_get_pro&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;p&gt;提示：平台提供免费测试额度，个人测试完全够用，正式批量使用可根据需求扩容，接口支持高并发请求，适配批量商品监控场景。&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;3. 了解接口入参规则&lt;/h3&gt;&lt;p&gt;&lt;code&gt;taobao.item_get_pro&lt;/code&gt; 核心请求参数（选品监控只需要用到核心字段，无需冗余参数）：&lt;/p&gt;&lt;p&gt;表格&lt;/p&gt;&lt;table&gt;
	&lt;thead&gt;
		&lt;tr class=&quot;firstRow&quot;&gt;
			&lt;th&gt;参数名&lt;/th&gt;
			&lt;th&gt;说明&lt;/th&gt;
			&lt;th&gt;是否必填&lt;/th&gt;
		&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;key&lt;/td&gt;
			&lt;td&gt;你的 Appkey&lt;/td&gt;
			&lt;td&gt;是&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;secret&lt;/td&gt;
			&lt;td&gt;你的 Appsecret&lt;/td&gt;
			&lt;td&gt;是&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;num_iid&lt;/td&gt;
			&lt;td&gt;淘宝商品 ID（商品链接中&lt;code&gt;id=&lt;/code&gt;后的数字）&lt;/td&gt;
			&lt;td&gt;是&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;format&lt;/td&gt;
			&lt;td&gt;返回数据格式，固定填写&lt;code&gt;json&lt;/code&gt;&lt;/td&gt;
			&lt;td&gt;否，默认 json&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;举个例子：淘宝商品链接 &lt;code&gt;https://item.taobao.com/item.htm?id=123456789&lt;/code&gt;，该商品 ID 就是&lt;code&gt;123456789&lt;/code&gt;。&lt;/p&gt;&lt;h2&gt;三、完整实战代码（Python+Open Claw 适配）&lt;/h2&gt;&lt;p&gt;下面分为&lt;strong&gt;基础单商品查询代码&lt;/strong&gt;、&lt;strong&gt;批量商品监控 + 选品筛选代码&lt;/strong&gt;两个版本，前者用于测试接口连通性，后者是正式用于自动化选品的核心代码，所有代码均适配 Open Claw 定时任务调度，复制即可运行。&lt;/p&gt;&lt;h3&gt;版本 1：单商品接口测试代码（入门测试，验证接口可用性）&lt;/h3&gt;&lt;p&gt;该代码主要用于测试密钥、商品 ID、接口地址是否正常，运行后会打印商品完整数据，适合新手排查问题。&lt;/p&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;1&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22%23%20-*-%20coding%3A%20utf-8%20-*-%5Cn%23%20%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81API%20%E5%8D%95%E5%95%86%E5%93%81%E6%9F%A5%E8%AF%A2%E6%B5%8B%E8%AF%95%E8%84%9A%E6%9C%AC%20%E9%80%82%E9%85%8DOpen%20Claw%5Cnimport%20requests%5Cnimport%20json%5Cn%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20%E8%AF%B7%E6%89%8B%E5%8A%A8%E4%BF%AE%E6%94%B9%E4%BB%A5%E4%B8%8B%E9%85%8D%E7%BD%AE%E9%A1%B9%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5CnAPP_KEY%20%3D%20%5C%22%E4%BD%A0%E7%9A%84Appkey%5C%22%20%20%20%20%20%20%20%20%23%20%E6%9B%BF%E6%8D%A2%E4%B8%BA%E4%BD%A0%E8%87%AA%E5%B7%B1%E7%9A%84Appkey%5CnAPP_SECRET%20%3D%20%5C%22%E4%BD%A0%E7%9A%84Appsecret%5C%22%20%20%23%20%E6%9B%BF%E6%8D%A2%E4%B8%BA%E4%BD%A0%E8%87%AA%E5%B7%B1%E7%9A%84Appsecret%5CnITEM_ID%20%3D%20%5C%22123456789%5C%22%20%20%20%20%20%20%20%20%23%20%E6%9B%BF%E6%8D%A2%E4%B8%BA%E7%9B%AE%E6%A0%87%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81ID%5CnAPI_URL%20%3D%20%5C%22https%3A%2F%2Fopen.onebound.cn%2Fapi%2Ftaobao%2Fitem_get_pro%5C%22%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%5Cndef%20get_taobao_item_info()%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E8%B0%83%E7%94%A8%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81%E8%AF%A6%E6%83%85API%EF%BC%8C%E8%8E%B7%E5%8F%96%E5%8D%95%E5%95%86%E5%93%81%E6%95%B0%E6%8D%AE%5C%22%5C%22%5C%22%5Cn%20%20%20%20%23%20%E7%BB%84%E8%A3%85%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0%5Cn%20%20%20%20params%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%5C%22key%5C%22%3A%20APP_KEY%2C%5Cn%20%20%20%20%20%20%20%20%5C%22secret%5C%22%3A%20APP_SECRET%2C%5Cn%20%20%20%20%20%20%20%20%5C%22num_iid%5C%22%3A%20ITEM_ID%2C%5Cn%20%20%20%20%20%20%20%20%5C%22format%5C%22%3A%20%5C%22json%5C%22%5Cn%20%20%20%20%7D%5Cn%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20%23%20%E5%8F%91%E8%B5%B7GET%E8%AF%B7%E6%B1%82%5Cn%20%20%20%20%20%20%20%20response%20%3D%20requests.get(url%3DAPI_URL%2C%20params%3Dparams%2C%20timeout%3D10)%5Cn%20%20%20%20%20%20%20%20%23%20%E8%A7%A3%E6%9E%90JSON%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%20%20%20%20res_data%20%3D%20json.loads(response.text)%5Cn%20%20%20%20%20%20%20%20%5Cn%20%20%20%20%20%20%20%20%23%20%E5%88%A4%E6%96%AD%E6%8E%A5%E5%8F%A3%E8%BF%94%E5%9B%9E%E7%8A%B6%E6%80%81%5Cn%20%20%20%20%20%20%20%20if%20res_data.get(%5C%22code%5C%22)%20%3D%3D%200%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(%5C%22%E2%9C%85%20%E6%8E%A5%E5%8F%A3%E8%B0%83%E7%94%A8%E6%88%90%E5%8A%9F%EF%BC%8C%E5%95%86%E5%93%81%E5%8E%9F%E5%A7%8B%E6%95%B0%E6%8D%AE%EF%BC%9A%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(json.dumps(res_data%2C%20ensure_ascii%3DFalse%2C%20indent%3D2))%5Cn%20%20%20%20%20%20%20%20else%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E2%9D%8C%20%E6%8E%A5%E5%8F%A3%E8%B0%83%E7%94%A8%E5%A4%B1%E8%B4%A5%EF%BC%9A%7Bres_data.get(&amp;#39;msg&amp;#39;%2C%20&amp;#39;%E6%9C%AA%E7%9F%A5%E9%94%99%E8%AF%AF&amp;#39;)%7D%5C%22)%5Cn%20%20%20%20%5Cn%20%20%20%20except%20Exception%20as%20e%3A%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E2%9D%8C%20%E8%AF%B7%E6%B1%82%E5%BC%82%E5%B8%B8%EF%BC%9A%7Bstr(e)%7D%5C%22)%5Cn%5Cn%23%20%E4%B8%BB%E5%87%BD%E6%95%B0%EF%BC%88Open%20Claw%E8%B0%83%E5%BA%A6%E5%85%A5%E5%8F%A3%EF%BC%89%5Cnif%20__name__%20%3D%3D%20%5C%22__main__%5C%22%3A%5Cn%20%20%20%20get_taobao_item_info()%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;#&amp;nbsp;-*-&amp;nbsp;coding:&amp;nbsp;utf-8&amp;nbsp;-*-
#&amp;nbsp;淘宝商品API&amp;nbsp;单商品查询测试脚本&amp;nbsp;适配Open&amp;nbsp;Claw
import&amp;nbsp;requests
import&amp;nbsp;json

#&amp;nbsp;====================&amp;nbsp;请手动修改以下配置项&amp;nbsp;====================
APP_KEY&amp;nbsp;=&amp;nbsp;&amp;quot;你的Appkey&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;替换为你自己的Appkey
APP_SECRET&amp;nbsp;=&amp;nbsp;&amp;quot;你的Appsecret&amp;quot;&amp;nbsp;&amp;nbsp;#&amp;nbsp;替换为你自己的Appsecret
ITEM_ID&amp;nbsp;=&amp;nbsp;&amp;quot;123456789&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;替换为目标淘宝商品ID
API_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://open.onebound.cn/api/taobao/item_get_pro&amp;quot;
#&amp;nbsp;==========================================================

def&amp;nbsp;get_taobao_item_info():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;调用淘宝商品详情API，获取单商品数据&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;组装请求参数
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;key&amp;quot;:&amp;nbsp;APP_KEY,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;secret&amp;quot;:&amp;nbsp;APP_SECRET,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;num_iid&amp;quot;:&amp;nbsp;ITEM_ID,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;format&amp;quot;:&amp;nbsp;&amp;quot;json&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;发起GET请求
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;requests.get(url=API_URL,&amp;nbsp;params=params,&amp;nbsp;timeout=10)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;解析JSON数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;res_data&amp;nbsp;=&amp;nbsp;json.loads(response.text)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;判断接口返回状态
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;res_data.get(&amp;quot;code&amp;quot;)&amp;nbsp;==&amp;nbsp;0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;✅&amp;nbsp;接口调用成功，商品原始数据：&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(json.dumps(res_data,&amp;nbsp;ensure_ascii=False,&amp;nbsp;indent=2))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;❌&amp;nbsp;接口调用失败：{res_data.get(&amp;#39;msg&amp;#39;,&amp;nbsp;&amp;#39;未知错误&amp;#39;)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;Exception&amp;nbsp;as&amp;nbsp;e:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;❌&amp;nbsp;请求异常：{str(e)}&amp;quot;)

#&amp;nbsp;主函数（Open&amp;nbsp;Claw调度入口）
if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get_taobao_item_info()&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;运行说明&lt;/strong&gt;：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;把配置项里的&lt;code&gt;Appkey&lt;/code&gt;、&lt;code&gt;Appsecret&lt;/code&gt;、&lt;code&gt;商品ID&lt;/code&gt;替换成你自己的信息；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;直接运行脚本，若打印出商品标题、价格、销量、类目等数据，说明接口连通正常；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;若提示失败，优先检查密钥是否填写错误、商品 ID 是否有效。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;版本 2：批量商品自动化监控 + 智能选品（核心生产代码）&lt;/h3&gt;&lt;p&gt;这是真正用于&lt;strong&gt;选品、竞品监控、价格巡检&lt;/strong&gt;的完整版代码，实现三大核心功能：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;批量遍历多个目标商品；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;自定义选品规则（价格区间、最低销量、类目过滤）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;定时循环监控，自动筛选符合条件的潜力商品，日志记录结果；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;适配 Open Claw 定时任务，后台长期运行。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;2&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22%23%20-*-%20coding%3A%20utf-8%20-*-%5Cn%23%20Open%20Claw%20%2B%20%E6%B7%98%E5%AE%9DAPI%20%E6%89%B9%E9%87%8F%E5%95%86%E5%93%81%E7%9B%91%E6%8E%A7%26%E8%87%AA%E5%8A%A8%E5%8C%96%E9%80%89%E5%93%81%E8%84%9A%E6%9C%AC%5Cn%23%20%E5%8A%9F%E8%83%BD%EF%BC%9A%E6%89%B9%E9%87%8F%E7%9B%91%E6%8E%A7%E5%95%86%E5%93%81%E3%80%81%E8%87%AA%E5%AE%9A%E4%B9%89%E9%80%89%E5%93%81%E8%A7%84%E5%88%99%E3%80%81%E5%AE%9A%E6%97%B6%E8%BD%AE%E8%AF%A2%E3%80%81%E7%BB%93%E6%9E%9C%E6%97%A5%E5%BF%97%E7%95%99%E5%AD%98%5Cnimport%20requests%5Cnimport%20json%5Cnimport%20time%5Cnfrom%20datetime%20import%20datetime%5Cn%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20%E6%A0%B8%E5%BF%83%E9%85%8D%E7%BD%AE%E5%8C%BA%EF%BC%88%E6%A0%B9%E6%8D%AE%E8%87%AA%E8%BA%AB%E9%80%89%E5%93%81%E9%9C%80%E6%B1%82%E4%BF%AE%E6%94%B9%EF%BC%89%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%23%20%E6%8E%A5%E5%8F%A3%E5%AF%86%E9%92%A5%5CnAPP_KEY%20%3D%20%5C%22%E4%BD%A0%E7%9A%84Appkey%5C%22%5CnAPP_SECRET%20%3D%20%5C%22%E4%BD%A0%E7%9A%84Appsecret%5C%22%5CnAPI_URL%20%3D%20%5C%22https%3A%2F%2Fopen.onebound.cn%2Fapi%2Ftaobao%2Fitem_get_pro%5C%22%5Cn%5Cn%23%20%E5%BE%85%E7%9B%91%E6%8E%A7%E7%9A%84%E5%95%86%E5%93%81ID%E5%88%97%E8%A1%A8%EF%BC%88%E5%8F%AF%E6%89%B9%E9%87%8F%E6%B7%BB%E5%8A%A0%E7%AB%9E%E5%93%81%2F%E5%80%99%E9%80%89%E9%80%89%E5%93%81ID%EF%BC%89%5CnMONITOR_ITEM_IDS%20%3D%20%5B%5Cn%20%20%20%20%5C%22123456789%5C%22%2C%5Cn%20%20%20%20%5C%22987654321%5C%22%2C%5Cn%20%20%20%20%5C%221122334455%5C%22%5Cn%5D%5Cn%5Cn%23%20%E8%87%AA%E5%AE%9A%E4%B9%89%E9%80%89%E5%93%81%E7%AD%9B%E9%80%89%E8%A7%84%E5%88%99%EF%BC%88%E9%87%8D%E7%82%B9%EF%BC%81%E6%8C%89%E9%9C%80%E8%B0%83%E6%95%B4%EF%BC%89%5CnSELECT_RULE%20%3D%20%7B%5Cn%20%20%20%20%5C%22min_price%5C%22%3A%2019.9%2C%20%20%20%20%23%20%E6%9C%80%E4%BD%8E%E5%94%AE%E4%BB%B7%5Cn%20%20%20%20%5C%22max_price%5C%22%3A%2099.9%2C%20%20%20%20%23%20%E6%9C%80%E9%AB%98%E5%94%AE%E4%BB%B7%5Cn%20%20%20%20%5C%22min_sale%5C%22%3A%20500%2C%20%20%20%20%20%20%23%20%E6%9C%80%E4%BD%8E%E6%9C%88%E9%94%80%E9%87%8F%EF%BC%88%E7%AD%9B%E9%80%89%E7%88%86%E6%AC%BE%E5%9F%BA%E7%A1%80%E9%97%A8%E6%A7%9B%EF%BC%89%5Cn%20%20%20%20%5C%22target_category%5C%22%3A%20%5C%22%5C%22%20%20%23%20%E7%9B%AE%E6%A0%87%E7%B1%BB%E7%9B%AE%EF%BC%8C%E4%B8%BA%E7%A9%BA%E5%88%99%E4%B8%8D%E9%99%90%E5%88%B6%5Cn%7D%5Cn%5Cn%23%20%E8%BD%AE%E8%AF%A2%E9%97%B4%E9%9A%94%EF%BC%88%E5%8D%95%E4%BD%8D%EF%BC%9A%E7%A7%92%EF%BC%89%EF%BC%8C%E5%BB%BA%E8%AE%AE300%E7%A7%92%E4%BB%A5%E4%B8%8A%EF%BC%8C%E9%81%BF%E5%85%8D%E6%8E%A5%E5%8F%A3%E8%AF%B7%E6%B1%82%E9%A2%91%E7%B9%81%5CnLOOP_INTERVAL%20%3D%20300%5Cn%23%20%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E8%B7%AF%E5%BE%84%EF%BC%88%E8%87%AA%E5%8A%A8%E8%AE%B0%E5%BD%95%E6%AF%8F%E4%B8%80%E8%BD%AE%E9%80%89%E5%93%81%E7%BB%93%E6%9E%9C%EF%BC%89%5CnLOG_FILE%20%3D%20%5C%22taobao_shop_select_log.txt%5C%22%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%5Cndef%20write_log(content)%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E5%86%99%E5%85%A5%E6%9C%AC%E5%9C%B0%E6%97%A5%E5%BF%97%EF%BC%8C%E8%AE%B0%E5%BD%95%E7%9B%91%E6%8E%A7%26%E9%80%89%E5%93%81%E7%BB%93%E6%9E%9C%5C%22%5C%22%5C%22%5Cn%20%20%20%20now_time%20%3D%20datetime.now().strftime(%5C%22%25Y-%25m-%25d%20%25H%3A%25M%3A%25S%5C%22)%5Cn%20%20%20%20log_content%20%3D%20f%5C%22%5B%7Bnow_time%7D%5D%20%7Bcontent%7D%5C%5Cn%5C%22%5Cn%20%20%20%20with%20open(LOG_FILE%2C%20%5C%22a%5C%22%2C%20encoding%3D%5C%22utf-8%5C%22)%20as%20f%3A%5Cn%20%20%20%20%20%20%20%20f.write(log_content)%5Cn%20%20%20%20print(log_content.strip())%5Cn%5Cndef%20get_single_item(item_id)%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E8%8E%B7%E5%8F%96%E5%8D%95%E4%B8%AA%E5%95%86%E5%93%81%E8%AF%A6%E7%BB%86%E6%95%B0%E6%8D%AE%5C%22%5C%22%5C%22%5Cn%20%20%20%20params%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%5C%22key%5C%22%3A%20APP_KEY%2C%5Cn%20%20%20%20%20%20%20%20%5C%22secret%5C%22%3A%20APP_SECRET%2C%5Cn%20%20%20%20%20%20%20%20%5C%22num_iid%5C%22%3A%20item_id%2C%5Cn%20%20%20%20%20%20%20%20%5C%22format%5C%22%3A%20%5C%22json%5C%22%5Cn%20%20%20%20%7D%5Cn%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20resp%20%3D%20requests.get(API_URL%2C%20params%3Dparams%2C%20timeout%3D15)%5Cn%20%20%20%20%20%20%20%20data%20%3D%20json.loads(resp.text)%5Cn%20%20%20%20%20%20%20%20return%20data%5Cn%20%20%20%20except%20Exception%20as%20e%3A%5Cn%20%20%20%20%20%20%20%20write_log(f%5C%22%E5%95%86%E5%93%81ID%EF%BC%9A%7Bitem_id%7D%20%E8%AF%B7%E6%B1%82%E5%BC%82%E5%B8%B8%EF%BC%9A%7Bstr(e)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20return%20None%5Cn%5Cndef%20filter_goods(item_data)%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E6%A0%B9%E6%8D%AE%E8%87%AA%E5%AE%9A%E4%B9%89%E8%A7%84%E5%88%99%E7%AD%9B%E9%80%89%E6%BD%9C%E5%8A%9B%E5%95%86%E5%93%81%EF%BC%8C%E8%BF%94%E5%9B%9E%E7%AD%9B%E9%80%89%E7%BB%93%E6%9E%9C%5C%22%5C%22%5C%22%5Cn%20%20%20%20if%20not%20item_data%20or%20item_data.get(%5C%22code%5C%22)%20!%3D%200%3A%5Cn%20%20%20%20%20%20%20%20return%20False%2C%20%5C%22%E6%8E%A5%E5%8F%A3%E6%95%B0%E6%8D%AE%E5%BC%82%E5%B8%B8%5C%22%5Cn%20%20%20%20%5Cn%20%20%20%20item_info%20%3D%20item_data.get(%5C%22data%5C%22%2C%20%7B%7D)%5Cn%20%20%20%20%23%20%E6%8F%90%E5%8F%96%E6%A0%B8%E5%BF%83%E9%80%89%E5%93%81%E5%AD%97%E6%AE%B5%5Cn%20%20%20%20item_title%20%3D%20item_info.get(%5C%22title%5C%22%2C%20%5C%22%E6%97%A0%E6%A0%87%E9%A2%98%5C%22)%5Cn%20%20%20%20item_price%20%3D%20float(item_info.get(%5C%22price%5C%22%2C%200))%5Cn%20%20%20%20item_sale%20%3D%20int(item_info.get(%5C%22sales%5C%22%2C%200))%5Cn%20%20%20%20item_category%20%3D%20item_info.get(%5C%22category%5C%22%2C%20%5C%22%E6%9C%AA%E7%9F%A5%E7%B1%BB%E7%9B%AE%5C%22)%5Cn%20%20%20%20item_url%20%3D%20item_info.get(%5C%22item_url%5C%22%2C%20%5C%22%5C%22)%5Cn%5Cn%20%20%20%20%23%20%E8%A7%84%E5%88%991%EF%BC%9A%E4%BB%B7%E6%A0%BC%E5%8C%BA%E9%97%B4%E7%AD%9B%E9%80%89%5Cn%20%20%20%20if%20not%20(SELECT_RULE%5B%5C%22min_price%5C%22%5D%20%3C%3D%20item_price%20%3C%3D%20SELECT_RULE%5B%5C%22max_price%5C%22%5D)%3A%5Cn%20%20%20%20%20%20%20%20return%20False%2C%20f%5C%22%E4%BB%B7%E6%A0%BC%E4%B8%8D%E8%BE%BE%E6%A0%87%EF%BC%8C%E5%BD%93%E5%89%8D%E4%BB%B7%EF%BC%9A%7Bitem_price%7D%E5%85%83%5C%22%5Cn%20%20%20%20%5Cn%20%20%20%20%23%20%E8%A7%84%E5%88%992%EF%BC%9A%E9%94%80%E9%87%8F%E7%AD%9B%E9%80%89%5Cn%20%20%20%20if%20item_sale%20%3C%20SELECT_RULE%5B%5C%22min_sale%5C%22%5D%3A%5Cn%20%20%20%20%20%20%20%20return%20False%2C%20f%5C%22%E9%94%80%E9%87%8F%E4%B8%8D%E8%B6%B3%EF%BC%8C%E5%BD%93%E5%89%8D%E9%94%80%E9%87%8F%EF%BC%9A%7Bitem_sale%7D%5C%22%5Cn%20%20%20%20%5Cn%20%20%20%20%23%20%E8%A7%84%E5%88%993%EF%BC%9A%E7%B1%BB%E7%9B%AE%E7%AD%9B%E9%80%89%EF%BC%88%E9%85%8D%E7%BD%AE%E7%B1%BB%E7%9B%AE%E6%97%B6%E7%94%9F%E6%95%88%EF%BC%89%5Cn%20%20%20%20if%20SELECT_RULE%5B%5C%22target_category%5C%22%5D%20and%20SELECT_RULE%5B%5C%22target_category%5C%22%5D%20not%20in%20item_category%3A%5Cn%20%20%20%20%20%20%20%20return%20False%2C%20f%5C%22%E7%B1%BB%E7%9B%AE%E4%B8%8D%E7%AC%A6%EF%BC%8C%E5%BD%93%E5%89%8D%E7%B1%BB%E7%9B%AE%EF%BC%9A%7Bitem_category%7D%5C%22%5Cn%5Cn%20%20%20%20%23%20%E5%85%A8%E9%83%A8%E8%A7%84%E5%88%99%E9%80%9A%E8%BF%87%EF%BC%8C%E5%88%A4%E5%AE%9A%E4%B8%BA%E6%BD%9C%E5%8A%9B%E9%80%89%E5%93%81%5Cn%20%20%20%20result%20%3D%20f%5C%22%E3%80%90%E6%BD%9C%E5%8A%9B%E5%95%86%E5%93%81%E3%80%91%E6%A0%87%E9%A2%98%EF%BC%9A%7Bitem_title%7D%20%7C%20%E4%BB%B7%E6%A0%BC%EF%BC%9A%7Bitem_price%7D%E5%85%83%20%7C%20%E9%94%80%E9%87%8F%EF%BC%9A%7Bitem_sale%7D%20%7C%20%E7%B1%BB%E7%9B%AE%EF%BC%9A%7Bitem_category%7D%20%7C%20%E9%93%BE%E6%8E%A5%EF%BC%9A%7Bitem_url%7D%5C%22%5Cn%20%20%20%20return%20True%2C%20result%5Cn%5Cndef%20main_monitor()%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E4%B8%BB%E7%9B%91%E6%8E%A7%E9%80%BB%E8%BE%91%EF%BC%9A%E6%89%B9%E9%87%8F%E9%81%8D%E5%8E%86%E5%95%86%E5%93%81%20%2B%20%E7%AD%9B%E9%80%89%20%2B%20%E6%97%A5%E5%BF%97%E8%AE%B0%E5%BD%95%5C%22%5C%22%5C%22%5Cn%20%20%20%20write_log(%5C%22%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20%E6%96%B0%E4%B8%80%E8%BD%AE%E5%95%86%E5%93%81%E9%80%89%E5%93%81%E7%9B%91%E6%8E%A7%E5%BC%80%E5%A7%8B%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5C%22)%5Cn%20%20%20%20for%20item_id%20in%20MONITOR_ITEM_IDS%3A%5Cn%20%20%20%20%20%20%20%20item_data%20%3D%20get_single_item(item_id)%5Cn%20%20%20%20%20%20%20%20is_pass%2C%20msg%20%3D%20filter_goods(item_data)%5Cn%20%20%20%20%20%20%20%20write_log(f%5C%22%E5%95%86%E5%93%81ID%EF%BC%9A%7Bitem_id%7D%20-%3E%20%7Bmsg%7D%5C%22)%5Cn%20%20%20%20write_log(%5C%22%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20%E6%9C%AC%E8%BD%AE%E7%9B%91%E6%8E%A7%E7%BB%93%E6%9D%9F%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5C%5Cn%5C%22)%5Cn%5Cn%23%20%E4%B8%BB%E7%A8%8B%E5%BA%8F%EF%BC%9A%E7%BB%93%E5%90%88Open%20Claw%E5%AE%9E%E7%8E%B0%E6%B0%B8%E4%B9%85%E5%AE%9A%E6%97%B6%E8%BD%AE%E8%AF%A2%5Cnif%20__name__%20%3D%3D%20%5C%22__main__%5C%22%3A%5Cn%20%20%20%20write_log(%5C%22%E7%B3%BB%E7%BB%9F%E5%90%AF%E5%8A%A8%EF%BC%8C%E6%B7%98%E5%AE%9D%E8%87%AA%E5%8A%A8%E5%8C%96%E9%80%89%E5%93%81%E7%9B%91%E6%8E%A7%E5%B7%B2%E5%BC%80%E5%90%AF%EF%BC%81%5C%22)%5Cn%20%20%20%20while%20True%3A%5Cn%20%20%20%20%20%20%20%20main_monitor()%5Cn%20%20%20%20%20%20%20%20%23%20%E7%AD%89%E5%BE%85%E6%8C%87%E5%AE%9A%E6%97%B6%E9%97%B4%E5%90%8E%E8%BF%9B%E5%85%A5%E4%B8%8B%E4%B8%80%E8%BD%AE%E7%9B%91%E6%8E%A7%5Cn%20%20%20%20%20%20%20%20time.sleep(LOOP_INTERVAL)%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;#&amp;nbsp;-*-&amp;nbsp;coding:&amp;nbsp;utf-8&amp;nbsp;-*-
#&amp;nbsp;Open&amp;nbsp;Claw&amp;nbsp;+&amp;nbsp;淘宝API&amp;nbsp;批量商品监控&amp;amp;自动化选品脚本
#&amp;nbsp;功能：批量监控商品、自定义选品规则、定时轮询、结果日志留存
import&amp;nbsp;requests
import&amp;nbsp;json
import&amp;nbsp;time
from&amp;nbsp;datetime&amp;nbsp;import&amp;nbsp;datetime

#&amp;nbsp;====================&amp;nbsp;核心配置区（根据自身选品需求修改）&amp;nbsp;====================
#&amp;nbsp;接口密钥
APP_KEY&amp;nbsp;=&amp;nbsp;&amp;quot;你的Appkey&amp;quot;
APP_SECRET&amp;nbsp;=&amp;nbsp;&amp;quot;你的Appsecret&amp;quot;
API_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://open.onebound.cn/api/taobao/item_get_pro&amp;quot;

#&amp;nbsp;待监控的商品ID列表（可批量添加竞品/候选选品ID）
MONITOR_ITEM_IDS&amp;nbsp;=&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;123456789&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;987654321&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;1122334455&amp;quot;
]

#&amp;nbsp;自定义选品筛选规则（重点！按需调整）
SELECT_RULE&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;min_price&amp;quot;:&amp;nbsp;19.9,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;最低售价
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;max_price&amp;quot;:&amp;nbsp;99.9,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;最高售价
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;min_sale&amp;quot;:&amp;nbsp;500,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;最低月销量（筛选爆款基础门槛）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;target_category&amp;quot;:&amp;nbsp;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;#&amp;nbsp;目标类目，为空则不限制
}

#&amp;nbsp;轮询间隔（单位：秒），建议300秒以上，避免接口请求频繁
LOOP_INTERVAL&amp;nbsp;=&amp;nbsp;300
#&amp;nbsp;日志文件路径（自动记录每一轮选品结果）
LOG_FILE&amp;nbsp;=&amp;nbsp;&amp;quot;taobao_shop_select_log.txt&amp;quot;
#&amp;nbsp;======================================================================

def&amp;nbsp;write_log(content):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;写入本地日志，记录监控&amp;amp;选品结果&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;now_time&amp;nbsp;=&amp;nbsp;datetime.now().strftime(&amp;quot;%Y-%m-%d&amp;nbsp;%H:%M:%S&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;log_content&amp;nbsp;=&amp;nbsp;f&amp;quot;[{now_time}]&amp;nbsp;{content}\n&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;with&amp;nbsp;open(LOG_FILE,&amp;nbsp;&amp;quot;a&amp;quot;,&amp;nbsp;encoding=&amp;quot;utf-8&amp;quot;)&amp;nbsp;as&amp;nbsp;f:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f.write(log_content)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(log_content.strip())

def&amp;nbsp;get_single_item(item_id):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;获取单个商品详细数据&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;key&amp;quot;:&amp;nbsp;APP_KEY,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;secret&amp;quot;:&amp;nbsp;APP_SECRET,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;num_iid&amp;quot;:&amp;nbsp;item_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;format&amp;quot;:&amp;nbsp;&amp;quot;json&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resp&amp;nbsp;=&amp;nbsp;requests.get(API_URL,&amp;nbsp;params=params,&amp;nbsp;timeout=15)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;json.loads(resp.text)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;Exception&amp;nbsp;as&amp;nbsp;e:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;write_log(f&amp;quot;商品ID：{item_id}&amp;nbsp;请求异常：{str(e)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None

def&amp;nbsp;filter_goods(item_data):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;根据自定义规则筛选潜力商品，返回筛选结果&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;item_data&amp;nbsp;or&amp;nbsp;item_data.get(&amp;quot;code&amp;quot;)&amp;nbsp;!=&amp;nbsp;0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;False,&amp;nbsp;&amp;quot;接口数据异常&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_info&amp;nbsp;=&amp;nbsp;item_data.get(&amp;quot;data&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;提取核心选品字段
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_title&amp;nbsp;=&amp;nbsp;item_info.get(&amp;quot;title&amp;quot;,&amp;nbsp;&amp;quot;无标题&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_price&amp;nbsp;=&amp;nbsp;float(item_info.get(&amp;quot;price&amp;quot;,&amp;nbsp;0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_sale&amp;nbsp;=&amp;nbsp;int(item_info.get(&amp;quot;sales&amp;quot;,&amp;nbsp;0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_category&amp;nbsp;=&amp;nbsp;item_info.get(&amp;quot;category&amp;quot;,&amp;nbsp;&amp;quot;未知类目&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_url&amp;nbsp;=&amp;nbsp;item_info.get(&amp;quot;item_url&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;规则1：价格区间筛选
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;(SELECT_RULE[&amp;quot;min_price&amp;quot;]&amp;nbsp;&amp;lt;=&amp;nbsp;item_price&amp;nbsp;&amp;lt;=&amp;nbsp;SELECT_RULE[&amp;quot;max_price&amp;quot;]):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;False,&amp;nbsp;f&amp;quot;价格不达标，当前价：{item_price}元&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;规则2：销量筛选
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;item_sale&amp;nbsp;&amp;lt;&amp;nbsp;SELECT_RULE[&amp;quot;min_sale&amp;quot;]:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;False,&amp;nbsp;f&amp;quot;销量不足，当前销量：{item_sale}&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;规则3：类目筛选（配置类目时生效）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;SELECT_RULE[&amp;quot;target_category&amp;quot;]&amp;nbsp;and&amp;nbsp;SELECT_RULE[&amp;quot;target_category&amp;quot;]&amp;nbsp;not&amp;nbsp;in&amp;nbsp;item_category:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;False,&amp;nbsp;f&amp;quot;类目不符，当前类目：{item_category}&amp;quot;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;全部规则通过，判定为潜力选品
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;f&amp;quot;【潜力商品】标题：{item_title}&amp;nbsp;|&amp;nbsp;价格：{item_price}元&amp;nbsp;|&amp;nbsp;销量：{item_sale}&amp;nbsp;|&amp;nbsp;类目：{item_category}&amp;nbsp;|&amp;nbsp;链接：{item_url}&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;True,&amp;nbsp;result

def&amp;nbsp;main_monitor():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;主监控逻辑：批量遍历商品&amp;nbsp;+&amp;nbsp;筛选&amp;nbsp;+&amp;nbsp;日志记录&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;write_log(&amp;quot;==========&amp;nbsp;新一轮商品选品监控开始&amp;nbsp;==========&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;item_id&amp;nbsp;in&amp;nbsp;MONITOR_ITEM_IDS:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_data&amp;nbsp;=&amp;nbsp;get_single_item(item_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is_pass,&amp;nbsp;msg&amp;nbsp;=&amp;nbsp;filter_goods(item_data)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;write_log(f&amp;quot;商品ID：{item_id}&amp;nbsp;-&amp;gt;&amp;nbsp;{msg}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;write_log(&amp;quot;==========&amp;nbsp;本轮监控结束&amp;nbsp;==========\n&amp;quot;)

#&amp;nbsp;主程序：结合Open&amp;nbsp;Claw实现永久定时轮询
if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;write_log(&amp;quot;系统启动，淘宝自动化选品监控已开启！&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while&amp;nbsp;True:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;main_monitor()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;等待指定时间后进入下一轮监控
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(LOOP_INTERVAL)&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h2&gt;四、Open Claw 任务配置（实现后台自动化运行）&lt;/h2&gt;&lt;p&gt;代码写完后，借助 Open Claw 将脚本设置为&lt;strong&gt;常驻自动化任务&lt;/strong&gt;，无需手动反复启动，全程后台运行，这也是这套方案的核心优势之一：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;启动 Open Claw&lt;/strong&gt;，新建「自定义脚本任务」；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;关联脚本文件&lt;/strong&gt;：选择上面保存的&lt;code&gt;.py&lt;/code&gt;脚本文件，设置运行环境为本地 Python；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;任务规则配置&lt;/strong&gt;
	&lt;/p&gt;&lt;/li&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;运行模式：选择「永久循环」；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;执行优先级：默认即可；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;异常重启：开启「脚本异常自动重启」，防止网络波动导致任务中断；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;启动任务&lt;/strong&gt;：点击运行，Open Claw 会在后台持续调度脚本，按照设定的&lt;code&gt;LOOP_INTERVAL&lt;/code&gt;间隔轮询商品数据。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;补充小技巧&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;如需白天监控、夜间暂停：可在 Open Claw 中配置&lt;strong&gt;定时启停规则&lt;/strong&gt;，设置每日运行时间段；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;如需新增商品：直接在代码中&lt;code&gt;MONITOR_ITEM_IDS&lt;/code&gt;列表追加商品 ID 即可，无需修改其他逻辑；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;数据导出：日志文件&lt;code&gt;taobao_shop_select_log.txt&lt;/code&gt;会完整留存所有监控记录，可直接复制到 Excel 做二次数据分析。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;五、选品规则拓展与实战优化&lt;/h2&gt;&lt;p&gt;基础代码跑通后，可以根据自己的电商赛道，拓展筛选规则，适配不同选品场景，这里分享几个实战常用的优化方向：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;利润空间筛选&lt;/strong&gt; 接口会返回商品原价、券后价、供货价等字段，可新增规则计算「预估利润 = 售价 - 成本」，优先筛选高利润商品，适合无货源、一件代发玩家。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;价格波动监控&lt;/strong&gt; 记录商品历史价格，对比两轮监控的价格差值，一旦出现降价、大促调价，自动标记预警，及时跟进竞品活动。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;爆款增量监控&lt;/strong&gt; 对比相邻两轮的销量差值，计算&lt;strong&gt;日销量增速&lt;/strong&gt;，快速捕捉正在起量的新品，比单纯看总销量更能提前发现潜力款。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;限流优化&lt;/strong&gt; 平台接口有请求频率限制，批量监控上百个商品时，可在循环内增加短延时&lt;code&gt;time.sleep(1)&lt;/code&gt;，避免请求过快被限制。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;六、常见问题排查（新手必看）&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;接口返回 “密钥错误”&lt;/strong&gt; 核对&lt;code&gt;Appkey&lt;/code&gt;和&lt;code&gt;Appsecret&lt;/code&gt;是否复制完整，注意不要带有空格、换行符，区分大小写。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;部分商品无数据&lt;/strong&gt; 检查商品 ID 是否正确，下架、违规删除的商品无法拉取数据，代码会自动记录异常日志。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;脚本运行卡顿&lt;/strong&gt; 调大&lt;code&gt;LOOP_INTERVAL&lt;/code&gt;轮询间隔，降低请求频率；同时检查本地网络是否稳定。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Open Claw 无法启动脚本&lt;/strong&gt; 确认 Python 环境已配置系统环境变量，在 Open Claw 中手动指定 Python 执行路径。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;七、总结&lt;/h2&gt;&lt;p&gt;对于电商从业者来说，&lt;strong&gt;自动化工具 + 合规接口&lt;/strong&gt;一定是提升效率的核心方向。这套「Open Claw + 淘宝商品 API」的组合，避开了传统网页爬虫不稳定、易封号的痛点，用最简单的代码实现了&lt;strong&gt;批量监控、自动选品、数据留存&lt;/strong&gt;三大刚需功能。&lt;/p&gt;&lt;p&gt;&lt;span data-cke-copybin-end=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 07 Jun 2026 16:13:31 +0800</pubDate></item><item><title>OpenClaw 对接淘宝商品 API，零爬虫风险搭建自动化选品监控系统（附完整可运行代码）</title><link>https://shopapi.com.cn/?id=174</link><description>&lt;p&gt;&lt;span data-cke-copybin-start=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;前言&lt;/h2&gt;&lt;p&gt;做淘宝、拼多多无货源、跨境铺货的从业者，选品永远是决定收益的核心环节。传统手动逛平台筛品、用爬虫抓取商品数据两大方式各有痛点：手动选品耗时耗力，单日只能筛选几十款商品；自研爬虫频繁遭遇淘宝反爬封禁、IP 限流、页面改版失效，维护成本居高不下。&lt;/p&gt;&lt;p&gt;最近摸索出一套&lt;strong&gt;OpenClaw + 淘宝官方标准化商品 API&lt;/strong&gt;的落地方案，依托成熟商品数据接口，不用编写复杂爬虫、无需代理 IP，借助 OpenClaw 智能任务调度能力，实现全天候自动监控竞品价格、销量、SKU 库存、评价数据，批量筛选蓝海爆款、低价截流款，新手跟着代码即可落地整套选品监控系统。本文全程实操，附带 Python+OpenClaw 完整源码，实测稳定运行 3 个月无风控问题。&lt;/p&gt;&lt;h2&gt;一、方案原理：API 替代爬虫，OpenClaw 做自动化调度&lt;/h2&gt;&lt;h3&gt;1.1 接口选型：taobao.item_get_pro 商品详情高级接口&lt;/h3&gt;&lt;p&gt;本次选用&lt;code&gt;taobao.item_get_pro&lt;/code&gt;高级商品查询接口，区别于基础版 item_get 接口，该接口可一次性返回商品全维度选品关键数据：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;基础字段：商品标题、主图、类目、上下架状态、品牌、发货地&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;定价数据：日常售价、活动到手价、历史低价、多规格 SKU 定价&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;销量库存：月销、累计销量、各 SKU 实时库存、预售周期&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;运营数据：近 30 天评价数、追评率、买家秀数量、直通车标签、新品标识&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;货源信息：供应商信息、邮费规则、七天无理由、运费险等服务标签&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;所有数据由接口服务商合规对接淘宝数据源，调用仅需传入商品 ID / 商品链接，不受页面结构改动影响，彻底解决爬虫 DOM 变动失效难题。&lt;/p&gt;&lt;h3&gt;1.2 OpenClaw 在项目中的作用&lt;/h3&gt;&lt;p&gt;OpenClaw 作为开源智能任务调度框架，承担三大核心能力：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;定时轮询&lt;/strong&gt;：自定义周期（小时 / 天）批量调用 API，自动监控商品价格跳水、销量暴涨异动；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;数据清洗&lt;/strong&gt;：内置数据处理技能，自动过滤无效数据、统一字段格式，存入本地 CSV / 数据库；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;异动告警&lt;/strong&gt;：商品满足预设选品条件（如月销破千、降价超 20%）自动推送消息至钉钉 / 企业微信。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;无需复杂运维，一条指令即可安装对应技能插件，零基础电商运营也能搭建自动化监控。&lt;/p&gt;&lt;h2&gt;二、前期环境准备（5 分钟部署完毕）&lt;/h2&gt;&lt;h3&gt;2.1 OpenClaw 环境安装&lt;/h3&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;0&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22%23%20%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85clawhub%E6%8A%80%E8%83%BD%E7%AE%A1%E7%90%86%E5%99%A8%5Cnnpm%20install%20-g%20clawhub%5Cn%23%20%E5%AE%89%E8%A3%85%E7%94%B5%E5%95%86API%E5%AF%B9%E6%8E%A5%E6%8A%80%E8%83%BD%E3%80%81%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1%E3%80%81%E6%B6%88%E6%81%AF%E6%8E%A8%E9%80%81%E4%B8%89%E4%B8%AA%E6%A0%B8%E5%BF%83%E6%8F%92%E4%BB%B6%5Cnclawhub%20install%20ecommerce-api-task%20price-alert%20csv-storage%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;#&amp;nbsp;全局安装clawhub技能管理器
npm&amp;nbsp;install&amp;nbsp;-g&amp;nbsp;clawhub
#&amp;nbsp;安装电商API对接技能、定时任务、消息推送三个核心插件
clawhub&amp;nbsp;install&amp;nbsp;ecommerce-api-task&amp;nbsp;price-alert&amp;nbsp;csv-storage&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;环境依赖：本地安装 Python3.8+、Node.js16+，Windows/macOS/Linux 全平台兼容。&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;2.2 API 密钥申请配置&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;前往注册账号获取&lt;code&gt;&lt;code&gt;&lt;span aria-label=&quot;a 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_inline cke_widget_csdnlink cke_widget_wrapper_link-info cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;a&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;4&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;link-info cke_widget_editable cke_widget_element&quot; contenteditable=&quot;true&quot; data-cke-enter-mode=&quot;2&quot; data-cke-widget-data=&quot;%7B%22url%22%3A%22https%3A%2F%2Fo0b.cn%2Ficris%22%2C%22text%22%3A%22apikey%22%2C%22desc%22%3A%22%22%2C%22icon%22%3A%22%22%2C%22isCard%22%3Afalse%2C%22hasResquest%22%3Atrue%2C%22iconDefault%22%3A%22https%3A%2F%2Fcsdnimg.cn%2Frelease%2Fblog_editor_html%2Frelease2.4.6%2Fckeditor%2Fplugins%2FCsdnLink%2Ficons%2Ficon-default.png%3Ft%3DQ239%22%2C%22id%22%3A%22HcJsbc-1780566948414%22%2C%22classes%22%3A%7B%22link-info%22%3A1%7D%7D&quot; data-cke-widget-editable=&quot;text&quot; data-cke-widget-keep-attr=&quot;0&quot; data-link-icon=&quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=Q239&quot; data-link-title=&quot;apikey&quot; data-widget=&quot;csdnlink&quot; href=&quot;https://o0b.cn/icris&quot; title=&quot;apikey&quot;&gt;&lt;strong&gt;apikey&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;/code&gt;&lt;/code&gt;、&lt;code&gt;apisecret&lt;/code&gt;两个密钥（接口请求唯一凭证）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;接口固定请求地址：&lt;code&gt;https://api域名/taobao/item_get_pro&lt;/code&gt;，请求入参固定&lt;code&gt;num_iid&lt;/code&gt;（淘宝商品 ID）、&lt;code&gt;appkey&lt;/code&gt;、&lt;code&gt;secret&lt;/code&gt;。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;2.3 选品筛选规则预设（运营自定义）&lt;/h3&gt;&lt;p&gt;提前在代码内配置筛选阈值，示例蓝海品筛选条件：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;近 30 天销量：300～3000（避开头部垄断爆款、剔除零销滞销品）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;售价区间：19.9～99 元（大众刚需定价带）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;评价数＜200（竞争小，新品蓝海）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;支持运费险 + 七天无理由（降低售后风险，适合无货源）&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;三、完整实操代码（两段：OpenClaw 调度脚本 + Python 数据处理）&lt;/h2&gt;&lt;h3&gt;3.1 OpenClaw 任务配置脚本（openclaw_config.yaml）&lt;/h3&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;1&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22%23%20OpenClaw%E5%AE%9A%E6%97%B6%E7%9B%91%E6%8E%A7%E4%BB%BB%E5%8A%A1%E9%85%8D%E7%BD%AE%5Cntask_name%3A%20taobao_goods_monitor%5Cncron%3A%20%5C%220%20*%2F2%20*%20*%20*%5C%22%20%23%20%E6%AF%8F2%E5%B0%8F%E6%97%B6%E8%BD%AE%E8%AF%A2%E4%B8%80%E6%AC%A1%E5%95%86%E5%93%81%E6%B1%A0%EF%BC%8C%E5%8F%AF%E8%87%AA%E5%AE%9A%E4%B9%89%E5%AE%9A%E6%97%B6%E8%A7%84%E5%88%99%5Cnapi%3A%5Cn%20%20url%3A%20%5C%22https%3A%2F%2Fapi%E5%9F%9F%E5%90%8D%2Ftaobao%2Fitem_get_pro%5C%22%5Cn%20%20appkey%3A%20%5C%22%E6%9B%BF%E6%8D%A2%E4%B8%BA%E4%BD%A0%E7%9A%84appkey%5C%22%5Cn%20%20appsecret%3A%20%5C%22%E6%9B%BF%E6%8D%A2%E4%B8%BA%E4%BD%A0%E7%9A%84appsecret%5C%22%5Cngoods_pool%3A%5Cn%20%20%23%20%E6%89%B9%E9%87%8F%E5%A1%AB%E5%85%A5%E9%9C%80%E8%A6%81%E7%9B%91%E6%8E%A7%E7%9A%84%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81ID%EF%BC%8C%E5%8F%AF%E6%89%B9%E9%87%8F%E6%89%A9%E5%85%85%5Cn%20%20-%20%5C%22728956123456%5C%22%5Cn%20%20-%20%5C%22659874123698%5C%22%5Cn%20%20-%20%5C%22523698741258%5C%22%5Cnfilter_rule%3A%5Cn%20%20min_sale%3A%20300%5Cn%20%20max_sale%3A%203000%5Cn%20%20max_comment%3A%20200%5Cn%20%20min_price%3A%2019.9%5Cn%20%20max_price%3A%2099%5Cnalert%3A%5Cn%20%20channel%3A%20dingtalk%5Cn%20%20webhook%3A%20%5C%22%E9%92%89%E9%92%89%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%8E%A8%E9%80%81%E9%93%BE%E6%8E%A5%5C%22%5Cnstorage%3A%5Cn%20%20save_path%3A%20%5C%22.%2Ftaobao_goods_data.csv%5C%22%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;#&amp;nbsp;OpenClaw定时监控任务配置
task_name:&amp;nbsp;taobao_goods_monitor
cron:&amp;nbsp;&amp;quot;0&amp;nbsp;*/2&amp;nbsp;*&amp;nbsp;*&amp;nbsp;*&amp;quot;&amp;nbsp;#&amp;nbsp;每2小时轮询一次商品池，可自定义定时规则
api:
&amp;nbsp;&amp;nbsp;url:&amp;nbsp;&amp;quot;https://api域名/taobao/item_get_pro&amp;quot;
&amp;nbsp;&amp;nbsp;appkey:&amp;nbsp;&amp;quot;替换为你的appkey&amp;quot;
&amp;nbsp;&amp;nbsp;appsecret:&amp;nbsp;&amp;quot;替换为你的appsecret&amp;quot;
goods_pool:
&amp;nbsp;&amp;nbsp;#&amp;nbsp;批量填入需要监控的淘宝商品ID，可批量扩充
&amp;nbsp;&amp;nbsp;-&amp;nbsp;&amp;quot;728956123456&amp;quot;
&amp;nbsp;&amp;nbsp;-&amp;nbsp;&amp;quot;659874123698&amp;quot;
&amp;nbsp;&amp;nbsp;-&amp;nbsp;&amp;quot;523698741258&amp;quot;
filter_rule:
&amp;nbsp;&amp;nbsp;min_sale:&amp;nbsp;300
&amp;nbsp;&amp;nbsp;max_sale:&amp;nbsp;3000
&amp;nbsp;&amp;nbsp;max_comment:&amp;nbsp;200
&amp;nbsp;&amp;nbsp;min_price:&amp;nbsp;19.9
&amp;nbsp;&amp;nbsp;max_price:&amp;nbsp;99
alert:
&amp;nbsp;&amp;nbsp;channel:&amp;nbsp;dingtalk
&amp;nbsp;&amp;nbsp;webhook:&amp;nbsp;&amp;quot;钉钉机器人推送链接&amp;quot;
storage:
&amp;nbsp;&amp;nbsp;save_path:&amp;nbsp;&amp;quot;./taobao_goods_data.csv&amp;quot;&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;3.2 Python 核心调用代码（taobao_api_spider.py，对接 item_get_pro 接口 + 选品筛选）&lt;/p&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;2&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22import%20requests%5Cnimport%20csv%5Cnimport%20json%5Cnfrom%20datetime%20import%20datetime%5Cn%5Cn%23%20%E6%8E%A5%E5%8F%A3%E5%9F%BA%E7%A1%80%E9%85%8D%E7%BD%AE%5CnAPI_URL%20%3D%20%5C%22https%3A%2F%2Fapi%E5%9F%9F%E5%90%8D%2Ftaobao%2Fitem_get_pro%5C%22%5CnAPPKEY%20%3D%20%5C%22%E4%BD%A0%E7%9A%84appkey%5C%22%5CnAPPSECRET%20%3D%20%5C%22%E4%BD%A0%E7%9A%84appsecret%5C%22%5Cn%23%20%E5%BE%85%E7%9B%91%E6%8E%A7%E5%95%86%E5%93%81ID%E5%88%97%E8%A1%A8%5CnGOODS_ID_LIST%20%3D%20%5B%5C%22728956123456%5C%22%2C%5C%22659874123698%5C%22%2C%5C%22523698741258%5C%22%5D%5Cn%23%20%E9%80%89%E5%93%81%E7%AD%9B%E9%80%89%E8%A7%84%E5%88%99%5CnRULE%20%3D%20%7B%5Cn%20%20%20%20%5C%22min_sale%5C%22%3A300%2C%5C%22max_sale%5C%22%3A3000%2C%5C%22max_comment%5C%22%3A200%2C%5C%22min_price%5C%22%3A19.9%2C%5C%22max_price%5C%22%3A99%5Cn%7D%5Cn%23%20%E5%AD%98%E5%82%A8%E6%96%87%E4%BB%B6%5CnCSV_FILE%20%3D%20%5C%22.%2Ftaobao_goods_data.csv%5C%22%5Cn%5Cn%23%20%E5%88%9D%E5%A7%8B%E5%8C%96CSV%E8%A1%A8%E5%A4%B4%5Cndef%20init_csv()%3A%5Cn%20%20%20%20headers%20%3D%20%5B%5C%22%E6%8A%93%E5%8F%96%E6%97%B6%E9%97%B4%5C%22%2C%5C%22%E5%95%86%E5%93%81ID%5C%22%2C%5C%22%E5%95%86%E5%93%81%E6%A0%87%E9%A2%98%5C%22%2C%5C%22%E5%94%AE%E4%BB%B7%5C%22%2C%5C%22%E6%9C%88%E9%94%80%E9%87%8F%5C%22%2C%5C%22%E8%AF%84%E4%BB%B7%E6%95%B0%5C%22%2C%5C%22%E5%8F%91%E8%B4%A7%E5%9C%B0%5C%22%2C%5C%22%E6%98%AF%E5%90%A6%E6%96%B0%E5%93%81%5C%22%2C%5C%22%E8%BF%90%E8%B4%B9%E9%99%A9%5C%22%5D%5Cn%20%20%20%20with%20open(CSV_FILE%2C%5C%22w%5C%22%2Cencoding%3D%5C%22utf-8-sig%5C%22%2Cnewline%3D%5C%22%5C%22)%20as%20f%3A%5Cn%20%20%20%20%20%20%20%20writer%20%3D%20csv.writer(f)%5Cn%20%20%20%20%20%20%20%20writer.writerow(headers)%5Cn%5Cn%23%20%E8%B0%83%E7%94%A8item_get_pro%E6%8E%A5%E5%8F%A3%E8%8E%B7%E5%8F%96%E5%95%86%E5%93%81%E8%AF%A6%E6%83%85%5Cndef%20get_taobao_goods(num_iid)%3A%5Cn%20%20%20%20params%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%5C%22appkey%5C%22%3AAPPKEY%2C%5Cn%20%20%20%20%20%20%20%20%5C%22secret%5C%22%3AAPPSECRET%2C%5Cn%20%20%20%20%20%20%20%20%5C%22num_iid%5C%22%3Anum_iid%5Cn%20%20%20%20%7D%5Cn%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20res%20%3D%20requests.get(API_URL%2Cparams%3Dparams%2Ctimeout%3D15)%5Cn%20%20%20%20%20%20%20%20data%20%3D%20res.json()%5Cn%20%20%20%20%20%20%20%20if%20data.get(%5C%22code%5C%22)%20!%3D%200%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E5%95%86%E5%93%81%7Bnum_iid%7D%E6%8E%A5%E5%8F%A3%E5%BC%82%E5%B8%B8%EF%BC%9A%7Bdata.get(&amp;#39;msg&amp;#39;)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20return%20None%5Cn%20%20%20%20%20%20%20%20return%20data%5B%5C%22result%5C%22%5D%5Cn%20%20%20%20except%20Exception%20as%20e%3A%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E8%AF%B7%E6%B1%82%E5%A4%B1%E8%B4%A5%EF%BC%9A%7Bstr(e)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20return%20None%5Cn%5Cn%23%20%E8%93%9D%E6%B5%B7%E5%95%86%E5%93%81%E7%AD%9B%E9%80%89%E9%80%BB%E8%BE%91%5Cndef%20filter_blue_ocean(goods_info)%3A%5Cn%20%20%20%20price%20%3D%20float(goods_info.get(%5C%22price%5C%22%2C0))%5Cn%20%20%20%20month_sale%20%3D%20int(goods_info.get(%5C%22month_sold%5C%22%2C0))%5Cn%20%20%20%20comment_num%20%3D%20int(goods_info.get(%5C%22comment_count%5C%22%2C0))%5Cn%20%20%20%20%23%20%E5%8C%B9%E9%85%8D%E9%A2%84%E8%AE%BE%E9%80%89%E5%93%81%E6%9D%A1%E4%BB%B6%5Cn%20%20%20%20if%20(RULE%5B%5C%22min_sale%5C%22%5D%3C%3Dmonth_sale%3C%3DRULE%5B%5C%22max_sale%5C%22%5D%20and%5Cn%20%20%20%20%20%20%20%20RULE%5B%5C%22min_price%5C%22%5D%3C%3Dprice%3C%3DRULE%5B%5C%22max_price%5C%22%5D%20and%20comment_num%3C%3DRULE%5B%5C%22max_comment%5C%22%5D)%3A%5Cn%20%20%20%20%20%20%20%20return%20True%5Cn%20%20%20%20return%20False%5Cn%5Cn%23%20%E4%B8%BB%E6%89%A7%E8%A1%8C%E5%87%BD%E6%95%B0%5Cndef%20run_monitor()%3A%5Cn%20%20%20%20init_csv()%5Cn%20%20%20%20alert_list%20%3D%20%5B%5D%20%23%20%E5%AD%98%E5%82%A8%E7%AC%A6%E5%90%88%E6%9D%A1%E4%BB%B6%E7%9A%84%E8%93%9D%E6%B5%B7%E5%95%86%E5%93%81%EF%BC%8C%E7%94%A8%E4%BA%8E%E6%8E%A8%E9%80%81%E5%91%8A%E8%AD%A6%5Cn%20%20%20%20now_time%20%3D%20datetime.now().strftime(%5C%22%25Y-%25m-%25d%20%25H%3A%25M%3A%25S%5C%22)%5Cn%20%20%20%20for%20gid%20in%20GOODS_ID_LIST%3A%5Cn%20%20%20%20%20%20%20%20goods%20%3D%20get_taobao_goods(gid)%5Cn%20%20%20%20%20%20%20%20if%20not%20goods%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20continue%5Cn%20%20%20%20%20%20%20%20title%20%3D%20goods.get(%5C%22title%5C%22%2C%5C%22%E6%97%A0%E6%A0%87%E9%A2%98%5C%22)%5Cn%20%20%20%20%20%20%20%20price%20%3D%20goods.get(%5C%22price%5C%22%2C%5C%220%5C%22)%5Cn%20%20%20%20%20%20%20%20sale%20%3D%20goods.get(%5C%22month_sold%5C%22%2C%5C%220%5C%22)%5Cn%20%20%20%20%20%20%20%20comment%20%3D%20goods.get(%5C%22comment_count%5C%22%2C%5C%220%5C%22)%5Cn%20%20%20%20%20%20%20%20ship_area%20%3D%20goods.get(%5C%22from%5C%22%2C%5C%22%E6%9C%AA%E7%9F%A5%5C%22)%5Cn%20%20%20%20%20%20%20%20is_new%20%3D%20goods.get(%5C%22is_new_item%5C%22%2C%5C%22%E5%90%A6%5C%22)%5Cn%20%20%20%20%20%20%20%20has_freight%20%3D%20%5C%22%E6%98%AF%5C%22%20if%20goods.get(%5C%22free_shipping_insurance%5C%22)%20%3D%3D1%20else%20%5C%22%E5%90%A6%5C%22%5Cn%20%20%20%20%20%20%20%20%23%20%E5%86%99%E5%85%A5%E5%85%A8%E9%87%8F%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%20%20%20%20row%20%3D%20%5Bnow_time%2Cgid%2Ctitle%2Cprice%2Csale%2Ccomment%2Cship_area%2Cis_new%2Chas_freight%5D%5Cn%20%20%20%20%20%20%20%20with%20open(CSV_FILE%2C%5C%22a%5C%22%2Cencoding%3D%5C%22utf-8-sig%5C%22%2Cnewline%3D%5C%22%5C%22)%20as%20f%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20csv.writer(f).writerow(row)%5Cn%20%20%20%20%20%20%20%20%23%20%E7%AD%9B%E9%80%89%E8%93%9D%E6%B5%B7%E6%AC%BE%5Cn%20%20%20%20%20%20%20%20if%20filter_blue_ocean(goods)%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20alert_list.append(f%5C%22%E3%80%90%E8%93%9D%E6%B5%B7%E6%96%B0%E5%93%81%E3%80%91%7Btitle%7D%7C%E5%94%AE%E4%BB%B7%EF%BC%9A%7Bprice%7D%7C%E6%9C%88%E9%94%80%EF%BC%9A%7Bsale%7D%7C%E5%95%86%E5%93%81ID%EF%BC%9A%7Bgid%7D%5C%22)%5Cn%20%20%20%20%23%20%E8%A7%A6%E5%8F%91OpenClaw%E6%B6%88%E6%81%AF%E6%8E%A8%E9%80%81%5Cn%20%20%20%20if%20alert_list%3A%5Cn%20%20%20%20%20%20%20%20alert_content%20%3D%20%5C%22%5C%5Cn%5C%22.join(alert_list)%5Cn%20%20%20%20%20%20%20%20from%20clawhub%20import%20send_dingtalk%5Cn%20%20%20%20%20%20%20%20send_dingtalk(alert_content)%5Cn%20%20%20%20%20%20%20%20print(%5C%22%E5%8F%91%E7%8E%B0%E8%93%9D%E6%B5%B7%E5%95%86%E5%93%81%EF%BC%8C%E5%B7%B2%E6%8E%A8%E9%80%81%E9%92%89%E9%92%89%EF%BC%81%5C%22)%5Cn%5Cnif%20__name__%20%3D%3D%20%5C%22__main__%5C%22%3A%5Cn%20%20%20%20run_monitor()%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;import&amp;nbsp;requests
import&amp;nbsp;csv
import&amp;nbsp;json
from&amp;nbsp;datetime&amp;nbsp;import&amp;nbsp;datetime

#&amp;nbsp;接口基础配置
API_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://api域名/taobao/item_get_pro&amp;quot;
APPKEY&amp;nbsp;=&amp;nbsp;&amp;quot;你的appkey&amp;quot;
APPSECRET&amp;nbsp;=&amp;nbsp;&amp;quot;你的appsecret&amp;quot;
#&amp;nbsp;待监控商品ID列表
GOODS_ID_LIST&amp;nbsp;=&amp;nbsp;[&amp;quot;728956123456&amp;quot;,&amp;quot;659874123698&amp;quot;,&amp;quot;523698741258&amp;quot;]
#&amp;nbsp;选品筛选规则
RULE&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;min_sale&amp;quot;:300,&amp;quot;max_sale&amp;quot;:3000,&amp;quot;max_comment&amp;quot;:200,&amp;quot;min_price&amp;quot;:19.9,&amp;quot;max_price&amp;quot;:99
}
#&amp;nbsp;存储文件
CSV_FILE&amp;nbsp;=&amp;nbsp;&amp;quot;./taobao_goods_data.csv&amp;quot;

#&amp;nbsp;初始化CSV表头
def&amp;nbsp;init_csv():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;headers&amp;nbsp;=&amp;nbsp;[&amp;quot;抓取时间&amp;quot;,&amp;quot;商品ID&amp;quot;,&amp;quot;商品标题&amp;quot;,&amp;quot;售价&amp;quot;,&amp;quot;月销量&amp;quot;,&amp;quot;评价数&amp;quot;,&amp;quot;发货地&amp;quot;,&amp;quot;是否新品&amp;quot;,&amp;quot;运费险&amp;quot;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;with&amp;nbsp;open(CSV_FILE,&amp;quot;w&amp;quot;,encoding=&amp;quot;utf-8-sig&amp;quot;,newline=&amp;quot;&amp;quot;)&amp;nbsp;as&amp;nbsp;f:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer&amp;nbsp;=&amp;nbsp;csv.writer(f)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.writerow(headers)

#&amp;nbsp;调用item_get_pro接口获取商品详情
def&amp;nbsp;get_taobao_goods(num_iid):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;appkey&amp;quot;:APPKEY,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;secret&amp;quot;:APPSECRET,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;num_iid&amp;quot;:num_iid
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;res&amp;nbsp;=&amp;nbsp;requests.get(API_URL,params=params,timeout=15)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;res.json()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;data.get(&amp;quot;code&amp;quot;)&amp;nbsp;!=&amp;nbsp;0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;商品{num_iid}接口异常：{data.get(&amp;#39;msg&amp;#39;)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;data[&amp;quot;result&amp;quot;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;Exception&amp;nbsp;as&amp;nbsp;e:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;请求失败：{str(e)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None

#&amp;nbsp;蓝海商品筛选逻辑
def&amp;nbsp;filter_blue_ocean(goods_info):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price&amp;nbsp;=&amp;nbsp;float(goods_info.get(&amp;quot;price&amp;quot;,0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;month_sale&amp;nbsp;=&amp;nbsp;int(goods_info.get(&amp;quot;month_sold&amp;quot;,0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;comment_num&amp;nbsp;=&amp;nbsp;int(goods_info.get(&amp;quot;comment_count&amp;quot;,0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;匹配预设选品条件
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(RULE[&amp;quot;min_sale&amp;quot;]&amp;lt;=month_sale&amp;lt;=RULE[&amp;quot;max_sale&amp;quot;]&amp;nbsp;and
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RULE[&amp;quot;min_price&amp;quot;]&amp;lt;=price&amp;lt;=RULE[&amp;quot;max_price&amp;quot;]&amp;nbsp;and&amp;nbsp;comment_num&amp;lt;=RULE[&amp;quot;max_comment&amp;quot;]):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;True
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;False

#&amp;nbsp;主执行函数
def&amp;nbsp;run_monitor():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;init_csv()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert_list&amp;nbsp;=&amp;nbsp;[]&amp;nbsp;#&amp;nbsp;存储符合条件的蓝海商品，用于推送告警
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;now_time&amp;nbsp;=&amp;nbsp;datetime.now().strftime(&amp;quot;%Y-%m-%d&amp;nbsp;%H:%M:%S&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;gid&amp;nbsp;in&amp;nbsp;GOODS_ID_LIST:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;goods&amp;nbsp;=&amp;nbsp;get_taobao_goods(gid)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;goods:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title&amp;nbsp;=&amp;nbsp;goods.get(&amp;quot;title&amp;quot;,&amp;quot;无标题&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price&amp;nbsp;=&amp;nbsp;goods.get(&amp;quot;price&amp;quot;,&amp;quot;0&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sale&amp;nbsp;=&amp;nbsp;goods.get(&amp;quot;month_sold&amp;quot;,&amp;quot;0&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;comment&amp;nbsp;=&amp;nbsp;goods.get(&amp;quot;comment_count&amp;quot;,&amp;quot;0&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ship_area&amp;nbsp;=&amp;nbsp;goods.get(&amp;quot;from&amp;quot;,&amp;quot;未知&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is_new&amp;nbsp;=&amp;nbsp;goods.get(&amp;quot;is_new_item&amp;quot;,&amp;quot;否&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;has_freight&amp;nbsp;=&amp;nbsp;&amp;quot;是&amp;quot;&amp;nbsp;if&amp;nbsp;goods.get(&amp;quot;free_shipping_insurance&amp;quot;)&amp;nbsp;==1&amp;nbsp;else&amp;nbsp;&amp;quot;否&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;写入全量数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;row&amp;nbsp;=&amp;nbsp;[now_time,gid,title,price,sale,comment,ship_area,is_new,has_freight]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;with&amp;nbsp;open(CSV_FILE,&amp;quot;a&amp;quot;,encoding=&amp;quot;utf-8-sig&amp;quot;,newline=&amp;quot;&amp;quot;)&amp;nbsp;as&amp;nbsp;f:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;csv.writer(f).writerow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;筛选蓝海款
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;filter_blue_ocean(goods):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert_list.append(f&amp;quot;【蓝海新品】{title}|售价：{price}|月销：{sale}|商品ID：{gid}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;触发OpenClaw消息推送
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;alert_list:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert_content&amp;nbsp;=&amp;nbsp;&amp;quot;\n&amp;quot;.join(alert_list)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;from&amp;nbsp;clawhub&amp;nbsp;import&amp;nbsp;send_dingtalk
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;send_dingtalk(alert_content)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;发现蓝海商品，已推送钉钉！&amp;quot;)

if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;run_monitor()&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;3.3 OpenClaw 启动监控指令&lt;/p&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;3&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22%23%20%E5%8A%A0%E8%BD%BD%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E5%90%AF%E5%8A%A8%E8%87%AA%E5%8A%A8%E9%80%89%E5%93%81%E7%9B%91%E6%8E%A7%E4%BB%BB%E5%8A%A1%5Cnopenclaw%20task%20start%20taobao_goods_monitor%20--config%20openclaw_config.yaml%5Cn%23%20%E6%9F%A5%E7%9C%8B%E8%BF%90%E8%A1%8C%E6%97%A5%E5%BF%97%5Cnopenclaw%20task%20log%20taobao_goods_monitor%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;#&amp;nbsp;加载配置文件，启动自动选品监控任务
openclaw&amp;nbsp;task&amp;nbsp;start&amp;nbsp;taobao_goods_monitor&amp;nbsp;--config&amp;nbsp;openclaw_config.yaml
#&amp;nbsp;查看运行日志
openclaw&amp;nbsp;task&amp;nbsp;log&amp;nbsp;taobao_goods_monitor&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h2&gt;三、落地优化技巧（实战踩坑总结）&lt;/h2&gt;&lt;h3&gt;3.1 批量扩充监控商品池&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;先用淘宝搜索关键词，批量导出搜索结果商品 ID，存入&lt;code&gt;GOODS_ID_LIST&lt;/code&gt;，单日可监控上千款类目商品；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;支持接入淘宝类目搜索 API，按一级 / 二级类目全量拉取商品 ID，实现全类目自动化筛品。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;3.2 多维度拓展筛选条件&lt;/h3&gt;&lt;p&gt;可按需在代码新增筛选规则：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;货源筛选：发货地限定义乌 / 广州 / 沧州等产业带；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;活动监控：商品上新大促、限时降价、优惠券发放自动预警；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;竞品监控：对标同行店铺全店商品，竞品调价立刻收到提醒。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;3.3 数据持久化优化&lt;/h3&gt;&lt;p&gt;小规模运营存 CSV 即可，企业级需求可对接 MySQL/ClickHouse，OpenClaw 内置&lt;code&gt;sql-storage&lt;/code&gt;插件，一键安装实现数据库自动入库。&lt;/p&gt;&lt;h2&gt;四、合规说明 &amp;amp; 方案优势&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;合规性&lt;/strong&gt;：依托官方授权商品 API 获取数据，完全规避爬虫违反平台 robots 协议、侵犯数据合规风险，无封号、IP 封禁隐患；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;低成本&lt;/strong&gt;：接口按调用次数计费，多数平台新用户赠送免费调用额度，新手前期零成本测试；OpenClaw 全开源免费商用，无软件订阅费用；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;高效率&lt;/strong&gt;：人工单日筛选 50 款，自动化系统 2 小时可完成上千款商品数据核验，实时捕捉短期爆发潜力新品。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;五、后续拓展方向&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;对接 1688 货源 API，监控淘宝爆款同源货源价格，自动计算铺货利润，一键筛选差价≥30% 的铺货货源；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;接入 AI 分析插件，基于历史销量数据预测商品未来爆发概率，精准锁定潜力新品；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;搭配 OpenClaw 自动表格生成技能，每日自动生成选品日报并推送至运营群。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span data-cke-copybin-end=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Thu, 04 Jun 2026 17:59:35 +0800</pubDate></item><item><title>OpenClaw 对接淘宝商品 API，低成本实现全天候选品监控｜附可运行 Python 实操代码</title><link>https://shopapi.com.cn/?id=173</link><description>&lt;p&gt;&lt;span data-cke-copybin-start=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;前言&lt;/h2&gt;&lt;p&gt;做无货源、电商铺货、淘系精细化运营的朋友，最大痛点莫过于&lt;strong&gt;人工盯盘选品效率太低&lt;/strong&gt;：每天手动翻找爆款、记录价格波动、跟踪销量变化，动辄耗费大半天，还容易错过新品红利、低价货源窗口期。传统浏览器爬虫又频繁遭遇反爬、验证码封禁、IP 受限，稳定性极差。&lt;/p&gt;&lt;p&gt;最近在用开源自动化框架 OpenClaw（圈内戏称小龙虾）对接第三方标准化淘宝商品详情 API（item_get_pro），不用自建爬虫、不用处理页面加密，依靠接口实时拉取全维度商品数据，搭配定时任务实现 7×24 小时自动监控、筛选潜力爆款，实测个人小团队单日可高效筛选上百个优质商品。本文从原理、环境部署、接口接入、代码落地、筛选逻辑全流程拆解，代码复制改密钥即可运行。&lt;/p&gt;&lt;h2&gt;一、方案选型：API+OpenClaw 为什么优于传统爬虫？&lt;/h2&gt;&lt;h3&gt;1. item_get_pro 接口核心优势（对接的淘宝商品详情高级接口）&lt;/h3&gt;&lt;p&gt;该接口是成熟商用标准化接口，区别于淘宝官方开放平台繁琐的资质报备、类目权限审核，开箱即用，核心返回字段覆盖选品全要素，也是我们选品的数据根基：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;基础信息&lt;/strong&gt;：商品标题、sku 规格、一口价 / 活动价、原价、上下架时间、商品 ID、类目 ID、品牌信息&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;销售数据&lt;/strong&gt;：月销量、总销量、收货人数、好评率、sku 库存数据（核心选品指标）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;营销信息&lt;/strong&gt;：优惠券面额、满减活动、淘客佣金比例、是否参与平台活动（618 / 百亿补贴）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;店铺信息&lt;/strong&gt;：店铺层级、开店时长、动态评分（DSR 三项）、主营类目，用来筛选优质货源店铺&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;2. OpenClaw 框架的价值&lt;/h3&gt;&lt;p&gt;OpenClaw 是开源 AI 自动化代理框架，核心能力是&lt;strong&gt;任务调度 + 定时轮询 + 数据清洗 + 告警推送&lt;/strong&gt;，不用手写复杂定时脚本，天然适配 API 批量调用、数据入库、条件筛选，支持自然语言配置监控规则，新手不用深耕运维也能搭建自动化系统：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;内置定时调度引擎：自定义每 1/3/6 小时轮询目标商品池&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;多源数据整合：API 返回 JSON 一键解析，对接 Excel/MySQL 存储&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;消息提醒：筛选出符合条件的潜力品自动推送企业微信 / 钉钉消息&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;低代码扩展：后续可叠加关键词搜索接口，批量抓取类目新品&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;p&gt;整体链路：OpenClaw 定时发起请求→调用 item_get_pro 获取淘宝商品全量数据→Python 脚本清洗数据→自定义筛选规则（价格、销量、佣金）→达标商品入库 + 自动告警&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;二、前期环境准备（三步搞定，Windows/Mac/ 云服务器通用）&lt;/h2&gt;&lt;h3&gt;1. 环境依赖安装&lt;/h3&gt;&lt;p&gt;本地提前装好 Python3.8 及以上版本，打开终端执行依赖安装：&lt;/p&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;8&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22%23%20%E5%AE%89%E8%A3%85%E6%8E%A5%E5%8F%A3%E8%AF%B7%E6%B1%82%E3%80%81%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E3%80%81%E8%A1%A8%E6%A0%BC%E5%AD%98%E5%82%A8%E4%BE%9D%E8%B5%96%5Cnpip%20install%20requests%20pandas%20openpyxl%5Cn%23%20OpenClaw%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E5%91%BD%E4%BB%A4%EF%BC%88%E5%AE%98%E6%96%B9%E5%AE%89%E8%A3%85%E8%84%9A%E6%9C%AC%EF%BC%89%5Cnnpx%20clawhub%40latest%20install%20EcommerceCrawlSkill%20PriceMonitorSkill%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;#&amp;nbsp;安装接口请求、数据处理、表格存储依赖
pip&amp;nbsp;install&amp;nbsp;requests&amp;nbsp;pandas&amp;nbsp;openpyxl
#&amp;nbsp;OpenClaw一键安装命令（官方安装脚本）
npx&amp;nbsp;clawhub@latest&amp;nbsp;install&amp;nbsp;EcommerceCrawlSkill&amp;nbsp;PriceMonitorSkill&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;EcommerceCrawlSkill：OpenClaw 电商数据采集技能；PriceMonitorSkill：价格 &amp;amp; 销量监控核心技能，两个是对接 API 必装插件。&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;2. 接口账号申请与参数准备&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;前往接口服务商平台注册账号，获取&lt;strong&gt;API 密钥（&lt;strong&gt;&lt;span aria-label=&quot;a 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_inline cke_widget_csdnlink cke_widget_wrapper_link-info cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;a&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;9&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;link-info cke_widget_editable cke_widget_element&quot; contenteditable=&quot;true&quot; data-cke-enter-mode=&quot;2&quot; data-cke-widget-data=&quot;%7B%22url%22%3A%22https%3A%2F%2Fo0b.cn%2Ficris%22%2C%22text%22%3A%22apikey%22%2C%22desc%22%3A%22%22%2C%22icon%22%3A%22%22%2C%22isCard%22%3Afalse%2C%22hasResquest%22%3Atrue%2C%22iconDefault%22%3A%22https%3A%2F%2Fcsdnimg.cn%2Frelease%2Fblog_editor_html%2Frelease2.4.6%2Fckeditor%2Fplugins%2FCsdnLink%2Ficons%2Ficon-default.png%3Ft%3DQ239%22%2C%22id%22%3A%223PVjNt-1780474325961%22%2C%22classes%22%3A%7B%22link-info%22%3A1%7D%7D&quot; data-cke-widget-editable=&quot;text&quot; data-cke-widget-keep-attr=&quot;0&quot; data-link-icon=&quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=Q239&quot; data-link-title=&quot;apikey&quot; data-widget=&quot;csdnlink&quot; href=&quot;https://o0b.cn/icris&quot; title=&quot;apikey&quot;&gt;apikey&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;）、秘钥（secret）&lt;/strong&gt;（接口请求鉴权必备）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;接口固定请求地址：&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;提前整理需要监控的商品 ID 清单（excel 存放，后续代码批量读取），支持淘宝 / 天猫全品类商品 ID&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;3. OpenClaw 初始化配置&lt;/h3&gt;&lt;p&gt;终端输入初始化指令，配置本地服务（默认本地 127.0.0.1 访问，避免公网暴露风险）：&lt;/p&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;7&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22openclaw%20config%20set%20bind_ip%20127.0.0.1%5Cnopenclaw%20restart%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;openclaw&amp;nbsp;config&amp;nbsp;set&amp;nbsp;bind_ip&amp;nbsp;127.0.0.1
openclaw&amp;nbsp;restart&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background:rgba(220,220,220,0.5);background-image:url(https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png);display:none;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h2&gt;三、完整实操代码（两段：API 请求 + OpenClaw 定时选品筛选，可直接复制）&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;说明：代码分两部分，第一部分是独立 Python 接口调用脚本，实现单商品 / 批量商品数据拉取；第二部分嵌入 OpenClaw 定时任务，自动执行选品规则、数据落表、达标提醒，替换 appkey 即可运行。&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;代码 1：taobao_item_api.py｜调用 item_get_pro 接口拉取商品数据&lt;/h3&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;6&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22import%20requests%5Cnimport%20pandas%20as%20pd%5Cnimport%20json%5Cnfrom%20datetime%20import%20datetime%5Cn%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%E7%94%A8%E6%88%B7%E8%87%AA%E5%AE%9A%E4%B9%89%E9%85%8D%E7%BD%AE%E5%8C%BA%E3%80%90%E5%8F%AA%E6%94%B9%E8%BF%99%E9%87%8C%E5%8F%82%E6%95%B0%E5%8D%B3%E5%8F%AF%E3%80%91%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5CnAPP_KEY%20%3D%20%5C%22%E4%BD%A0%E7%9A%84%E6%8E%A5%E5%8F%A3%E7%94%B3%E8%AF%B7%E7%9A%84appkey%5C%22%20%20%23%20%E6%9B%BF%E6%8D%A2%E6%88%90%E8%87%AA%E5%B7%B1%E5%AF%86%E9%92%A5%5CnAPI_URL%20%3D%20%5C%22https%3A%2F%2Fapi.open.onebound.cn%2Ftaobao%2Fitem_get_pro%5C%22%5Cn%23%20%E5%BE%85%E7%9B%91%E6%8E%A7%E5%95%86%E5%93%81ID%E5%88%97%E8%A1%A8%EF%BC%8C%E5%8F%AF%E6%89%8B%E5%8A%A8%E5%A1%AB%E5%86%99%EF%BC%8C%E4%B9%9F%E5%8F%AF%E4%BB%8Eexcel%E6%89%B9%E9%87%8F%E8%AF%BB%E5%8F%96%5CnITEM_ID_LIST%20%3D%20%5B%5C%22725896325412%5C%22%2C%20%5C%22693258741259%5C%22%2C%20%5C%22598741236985%5C%22%5D%5CnSAVE_EXCEL_PATH%20%3D%20%5C%22.%2F%E6%B7%98%E5%AE%9D%E9%80%89%E5%93%81%E7%9B%91%E6%8E%A7%E6%95%B0%E6%8D%AE%E8%A1%A8.xlsx%5C%22%20%20%23%20%E6%95%B0%E6%8D%AE%E4%BF%9D%E5%AD%98%E8%B7%AF%E5%BE%84%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%5Cndef%20get_taobao_item_info(item_id)%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E8%B0%83%E7%94%A8item_get_pro%E9%AB%98%E7%BA%A7%E6%8E%A5%E5%8F%A3%EF%BC%8C%E8%8E%B7%E5%8F%96%E5%8D%95%E5%93%81%E5%85%A8%E9%87%8F%E8%AF%A6%E6%83%85%E6%95%B0%E6%8D%AE%5C%22%5C%22%5C%22%5Cn%20%20%20%20params%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%5C%22appkey%5C%22%3A%20APP_KEY%2C%5Cn%20%20%20%20%20%20%20%20%5C%22item_id%5C%22%3A%20item_id%2C%5Cn%20%20%20%20%20%20%20%20%5C%22lang%5C%22%3A%20%5C%22zh-CN%5C%22%5Cn%20%20%20%20%7D%5Cn%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20resp%20%3D%20requests.get(url%3DAPI_URL%2C%20params%3Dparams%2C%20timeout%3D15)%5Cn%20%20%20%20%20%20%20%20result%20%3D%20resp.json()%5Cn%20%20%20%20%20%20%20%20%23%20%E6%8E%A5%E5%8F%A3%E5%BC%82%E5%B8%B8%E6%8D%95%E8%8E%B7%5Cn%20%20%20%20%20%20%20%20if%20result.get(%5C%22code%5C%22)%20!%3D%200%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E5%95%86%E5%93%81%7Bitem_id%7D%E6%9F%A5%E8%AF%A2%E5%A4%B1%E8%B4%A5%EF%BC%9A%7Bresult.get(&amp;#39;msg&amp;#39;)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20return%20None%5Cn%20%20%20%20%20%20%20%20item_data%20%3D%20result%5B%5C%22data%5C%22%5D%5Cn%20%20%20%20%20%20%20%20%23%20%E7%AD%9B%E9%80%89%E9%80%89%E5%93%81%E6%A0%B8%E5%BF%83%E5%AD%97%E6%AE%B5%EF%BC%8C%E5%89%94%E9%99%A4%E6%97%A0%E7%94%A8%E5%86%97%E4%BD%99%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20%20%20%20%20filter_data%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E6%8A%93%E5%8F%96%E6%97%B6%E9%97%B4%5C%22%3A%20datetime.now().strftime(%5C%22%25Y-%25m-%25d%20%25H%3A%25M%3A%25S%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%95%86%E5%93%81ID%5C%22%3A%20item_id%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%95%86%E5%93%81%E6%A0%87%E9%A2%98%5C%22%3A%20item_data.get(%5C%22title%5C%22%2C%20%5C%22%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E7%8E%B0%E4%BB%B7%5C%22%3A%20item_data.get(%5C%22price%5C%22%2C%200)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%8E%9F%E4%BB%B7%5C%22%3A%20item_data.get(%5C%22orig_price%5C%22%2C%200)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E6%9C%88%E9%94%80%E9%87%8F%5C%22%3A%20item_data.get(%5C%22month_sold%5C%22%2C%200)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E6%80%BB%E9%94%80%E9%87%8F%5C%22%3A%20item_data.get(%5C%22total_sold%5C%22%2C%200)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E4%BD%A3%E9%87%91%E6%AF%94%E4%BE%8B%25%5C%22%3A%20item_data.get(%5C%22tk_rate%5C%22%2C%200)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%A5%BD%E8%AF%84%E7%8E%87%5C%22%3A%20item_data.get(%5C%22good_rate%5C%22%2C%200)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%BA%97%E9%93%BA%E8%AF%84%E5%88%86%5C%22%3A%20item_data.get(%5C%22shop_dsr%5C%22%2C%20%5C%22%5C%22)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E4%BC%98%E6%83%A0%E5%88%B8%E9%87%91%E9%A2%9D%5C%22%3A%20item_data.get(%5C%22coupon_price%5C%22%2C%200)%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22%E5%95%86%E5%93%81%E9%93%BE%E6%8E%A5%5C%22%3A%20item_data.get(%5C%22item_url%5C%22%2C%20%5C%22%5C%22)%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%20%20return%20filter_data%5Cn%20%20%20%20except%20Exception%20as%20e%3A%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E6%8E%A5%E5%8F%A3%E8%AF%B7%E6%B1%82%E5%BC%82%E5%B8%B8%EF%BC%9A%7Bstr(e)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20return%20None%5Cn%5Cndef%20batch_get_item()%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E6%89%B9%E9%87%8F%E9%81%8D%E5%8E%86%E5%95%86%E5%93%81ID%EF%BC%8C%E5%85%A8%E9%87%8F%E9%87%87%E9%9B%86%E6%95%B0%E6%8D%AE%E5%B9%B6%E4%BF%9D%E5%AD%98Excel%5C%22%5C%22%5C%22%5Cn%20%20%20%20save_list%20%3D%20%5B%5D%5Cn%20%20%20%20for%20item%20in%20ITEM_ID_LIST%3A%5Cn%20%20%20%20%20%20%20%20item_info%20%3D%20get_taobao_item_info(item)%5Cn%20%20%20%20%20%20%20%20if%20item_info%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20save_list.append(item_info)%5Cn%20%20%20%20%23%20%E6%95%B0%E6%8D%AE%E5%86%99%E5%85%A5Excel%EF%BC%8C%E8%BF%BD%E5%8A%A0%E5%AD%98%E5%82%A8%E5%8E%86%E5%8F%B2%E6%95%B0%E6%8D%AE%5Cn%20%20%20%20if%20save_list%3A%5Cn%20%20%20%20%20%20%20%20df_new%20%3D%20pd.DataFrame(save_list)%5Cn%20%20%20%20%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20df_old%20%3D%20pd.read_excel(SAVE_EXCEL_PATH)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20df_all%20%3D%20pd.concat(%5Bdf_old%2C%20df_new%5D%2C%20ignore_index%3DTrue)%5Cn%20%20%20%20%20%20%20%20except%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20df_all%20%3D%20df_new%5Cn%20%20%20%20%20%20%20%20df_all.to_excel(SAVE_EXCEL_PATH%2C%20index%3DFalse)%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E6%9C%AC%E8%BD%AE%E6%88%90%E5%8A%9F%E9%87%87%E9%9B%86%7Blen(save_list)%7D%E4%B8%AA%E5%95%86%E5%93%81%EF%BC%8C%E6%95%B0%E6%8D%AE%E5%B7%B2%E5%AD%98%E5%85%A5%E8%A1%A8%E6%A0%BC%5C%22)%5Cn%20%20%20%20return%20save_list%5Cn%5Cnif%20__name__%20%3D%3D%20%5C%22__main__%5C%22%3A%5Cn%20%20%20%20batch_get_item()%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;import&amp;nbsp;requests
import&amp;nbsp;pandas&amp;nbsp;as&amp;nbsp;pd
import&amp;nbsp;json
from&amp;nbsp;datetime&amp;nbsp;import&amp;nbsp;datetime

#&amp;nbsp;==========用户自定义配置区【只改这里参数即可】==========
APP_KEY&amp;nbsp;=&amp;nbsp;&amp;quot;你的接口申请的appkey&amp;quot;&amp;nbsp;&amp;nbsp;#&amp;nbsp;替换成自己密钥
API_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://api.open.onebound.cn/taobao/item_get_pro&amp;quot;
#&amp;nbsp;待监控商品ID列表，可手动填写，也可从excel批量读取
ITEM_ID_LIST&amp;nbsp;=&amp;nbsp;[&amp;quot;725896325412&amp;quot;,&amp;nbsp;&amp;quot;693258741259&amp;quot;,&amp;nbsp;&amp;quot;598741236985&amp;quot;]
SAVE_EXCEL_PATH&amp;nbsp;=&amp;nbsp;&amp;quot;./淘宝选品监控数据表.xlsx&amp;quot;&amp;nbsp;&amp;nbsp;#&amp;nbsp;数据保存路径
#&amp;nbsp;======================================================

def&amp;nbsp;get_taobao_item_info(item_id):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;调用item_get_pro高级接口，获取单品全量详情数据&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;appkey&amp;quot;:&amp;nbsp;APP_KEY,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;item_id&amp;quot;:&amp;nbsp;item_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;lang&amp;quot;:&amp;nbsp;&amp;quot;zh-CN&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resp&amp;nbsp;=&amp;nbsp;requests.get(url=API_URL,&amp;nbsp;params=params,&amp;nbsp;timeout=15)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;resp.json()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;接口异常捕获
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;result.get(&amp;quot;code&amp;quot;)&amp;nbsp;!=&amp;nbsp;0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;商品{item_id}查询失败：{result.get(&amp;#39;msg&amp;#39;)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_data&amp;nbsp;=&amp;nbsp;result[&amp;quot;data&amp;quot;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;筛选选品核心字段，剔除无用冗余数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;filter_data&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;抓取时间&amp;quot;:&amp;nbsp;datetime.now().strftime(&amp;quot;%Y-%m-%d&amp;nbsp;%H:%M:%S&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;商品ID&amp;quot;:&amp;nbsp;item_id,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;商品标题&amp;quot;:&amp;nbsp;item_data.get(&amp;quot;title&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;现价&amp;quot;:&amp;nbsp;item_data.get(&amp;quot;price&amp;quot;,&amp;nbsp;0),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;原价&amp;quot;:&amp;nbsp;item_data.get(&amp;quot;orig_price&amp;quot;,&amp;nbsp;0),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;月销量&amp;quot;:&amp;nbsp;item_data.get(&amp;quot;month_sold&amp;quot;,&amp;nbsp;0),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;总销量&amp;quot;:&amp;nbsp;item_data.get(&amp;quot;total_sold&amp;quot;,&amp;nbsp;0),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;佣金比例%&amp;quot;:&amp;nbsp;item_data.get(&amp;quot;tk_rate&amp;quot;,&amp;nbsp;0),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;好评率&amp;quot;:&amp;nbsp;item_data.get(&amp;quot;good_rate&amp;quot;,&amp;nbsp;0),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;店铺评分&amp;quot;:&amp;nbsp;item_data.get(&amp;quot;shop_dsr&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;优惠券金额&amp;quot;:&amp;nbsp;item_data.get(&amp;quot;coupon_price&amp;quot;,&amp;nbsp;0),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;商品链接&amp;quot;:&amp;nbsp;item_data.get(&amp;quot;item_url&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;filter_data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;Exception&amp;nbsp;as&amp;nbsp;e:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;接口请求异常：{str(e)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None

def&amp;nbsp;batch_get_item():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;批量遍历商品ID，全量采集数据并保存Excel&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;save_list&amp;nbsp;=&amp;nbsp;[]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;item&amp;nbsp;in&amp;nbsp;ITEM_ID_LIST:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_info&amp;nbsp;=&amp;nbsp;get_taobao_item_info(item)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;item_info:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;save_list.append(item_info)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;数据写入Excel，追加存储历史数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;save_list:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df_new&amp;nbsp;=&amp;nbsp;pd.DataFrame(save_list)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df_old&amp;nbsp;=&amp;nbsp;pd.read_excel(SAVE_EXCEL_PATH)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df_all&amp;nbsp;=&amp;nbsp;pd.concat([df_old,&amp;nbsp;df_new],&amp;nbsp;ignore_index=True)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df_all&amp;nbsp;=&amp;nbsp;df_new
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df_all.to_excel(SAVE_EXCEL_PATH,&amp;nbsp;index=False)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;本轮成功采集{len(save_list)}个商品，数据已存入表格&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;save_list

if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;batch_get_item()&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background:rgba(220,220,220,0.5);background-image:url(https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png);display:none;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;代码 2：openclaw_monitor.py｜接入 OpenClaw 定时任务 + 自定义选品筛选规则&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;核心筛选规则（可自行修改参数适配自己类目）：月销量 300~5000、佣金≥15%、现价低于原价 6 折、好评率＞92%，满足即判定为潜力爆款，自动记录到「优质选品清单」&lt;/p&gt;&lt;/blockquote&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;5&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22from%20openclaw%20import%20scheduler%20%20%23%20OpenClaw%E5%86%85%E7%BD%AE%E5%AE%9A%E6%97%B6%E8%B0%83%E5%BA%A6%E6%A8%A1%E5%9D%97%5Cnfrom%20taobao_item_api%20import%20batch_get_item%5Cnimport%20pandas%20as%20pd%5Cn%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%E8%87%AA%E5%AE%9A%E4%B9%89%E9%80%89%E5%93%81%E9%98%88%E5%80%BC%EF%BC%88%E6%8C%89%E9%9C%80%E4%BF%AE%E6%94%B9%EF%BC%89%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5CnMIN_MONTH_SOLD%20%3D%20300%20%20%20%20%23%20%E6%9C%80%E4%BD%8E%E6%9C%88%E9%94%80%5CnMAX_MONTH_SOLD%20%3D%205000%20%20%20%23%20%E6%9C%80%E9%AB%98%E6%9C%88%E9%94%80%EF%BC%88%E9%81%BF%E5%BC%80%E5%A4%B4%E9%83%A8%E7%BA%A2%E6%B5%B7%E7%88%86%E6%AC%BE%EF%BC%89%5CnMIN_COMMISSION%20%3D%2015%20%20%20%20%20%23%20%E6%9C%80%E4%BD%8E%E6%B7%98%E5%AE%A2%E4%BD%A3%E9%87%91%25%5CnMIN_GOOD_RATE%20%3D%200.92%20%20%20%20%23%20%E6%9C%80%E4%BD%8E%E5%A5%BD%E8%AF%84%E7%8E%87%5CnDISCOUNT_RATE%20%3D%200.6%20%20%20%20%20%23%20%E4%BD%8E%E4%BA%8E%E5%8E%9F%E4%BB%B76%E6%8A%98%5CnGOOD_ITEM_SAVE%20%3D%20%5C%22.%2F%E6%BD%9C%E5%8A%9B%E7%88%86%E6%AC%BE%E6%B8%85%E5%8D%95.xlsx%5C%22%5Cn%23%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%5Cndef%20select_good_product()%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E7%AD%9B%E9%80%89%E7%AC%A6%E5%90%88%E6%9D%A1%E4%BB%B6%E7%9A%84%E6%BD%9C%E5%8A%9B%E5%95%86%E5%93%81%5C%22%5C%22%5C%22%5Cn%20%20%20%20item_data%20%3D%20batch_get_item()%5Cn%20%20%20%20good_item_list%20%3D%20%5B%5D%5Cn%20%20%20%20for%20data%20in%20item_data%3A%5Cn%20%20%20%20%20%20%20%20%23%20%E8%AE%A1%E7%AE%97%E6%8A%98%E6%89%A3%EF%BC%9A%E7%8E%B0%E4%BB%B7%2F%E5%8E%9F%E4%BB%B7%5Cn%20%20%20%20%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20discount%20%3D%20float(data%5B%5C%22%E7%8E%B0%E4%BB%B7%5C%22%5D)%20%2F%20float(data%5B%5C%22%E5%8E%9F%E4%BB%B7%5C%22%5D)%20if%20float(data%5B%5C%22%E5%8E%9F%E4%BB%B7%5C%22%5D)%20%3E%200%20else%201%5Cn%20%20%20%20%20%20%20%20except%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20discount%20%3D%201%5Cn%20%20%20%20%20%20%20%20%23%20%E9%80%89%E5%93%81%E9%80%BB%E8%BE%91%E5%88%A4%E6%96%AD%5Cn%20%20%20%20%20%20%20%20if%20(MIN_MONTH_SOLD%20%3C%3D%20int(data%5B%5C%22%E6%9C%88%E9%94%80%E9%87%8F%5C%22%5D)%20%3C%3D%20MAX_MONTH_SOLD%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20and%20float(data%5B%5C%22%E4%BD%A3%E9%87%91%E6%AF%94%E4%BE%8B%25%5C%22%5D)%20%3E%3D%20MIN_COMMISSION%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20and%20float(data%5B%5C%22%E5%A5%BD%E8%AF%84%E7%8E%87%5C%22%5D)%20%3E%3D%20MIN_GOOD_RATE%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20and%20discount%20%3C%3D%20DISCOUNT_RATE)%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20good_item_list.append(data)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E2%9C%85%E6%8C%96%E5%88%B0%E6%BD%9C%E5%8A%9B%E5%93%81%EF%BC%9A%7Bdata%5B&amp;#39;%E5%95%86%E5%93%81%E6%A0%87%E9%A2%98&amp;#39;%5D%7D%EF%BC%8C%E5%95%86%E5%93%81ID%EF%BC%9A%7Bdata%5B&amp;#39;%E5%95%86%E5%93%81ID&amp;#39;%5D%7D%5C%22)%5Cn%20%20%20%20%23%20%E4%BC%98%E8%B4%A8%E5%95%86%E5%93%81%E5%8D%95%E7%8B%AC%E5%AD%98%E8%A1%A8%5Cn%20%20%20%20if%20good_item_list%3A%5Cn%20%20%20%20%20%20%20%20df_good%20%3D%20pd.DataFrame(good_item_list)%5Cn%20%20%20%20%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20df_history%20%3D%20pd.read_excel(GOOD_ITEM_SAVE)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20df_final%20%3D%20pd.concat(%5Bdf_history%2C%20df_good%5D%2C%20ignore_index%3DTrue)%5Cn%20%20%20%20%20%20%20%20except%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20df_final%20%3D%20df_good%5Cn%20%20%20%20%20%20%20%20df_final.to_excel(GOOD_ITEM_SAVE%2C%20index%3DFalse)%5Cn%20%20%20%20%20%20%20%20%23%20OpenClaw%E5%86%85%E7%BD%AE%E6%B6%88%E6%81%AF%E6%8E%A8%E9%80%81%EF%BC%8C%E5%8F%AF%E5%AF%B9%E6%8E%A5%E9%92%89%E9%92%89%2F%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%5Cn%20%20%20%20%20%20%20%20scheduler.msg_send(title%3D%5C%22%E6%96%B0%E5%8F%91%E7%8E%B0%E6%B7%98%E5%AE%9D%E6%BD%9C%E5%8A%9B%E9%80%89%E5%93%81%5C%22%2C%20content%3Df%5C%22%E6%9C%AC%E8%BD%AE%E7%AD%9B%E9%80%89%E5%87%BA%7Blen(good_item_list)%7D%E4%B8%AA%E4%BC%98%E8%B4%A8%E8%B4%A7%E6%BA%90%EF%BC%8C%E8%AF%B7%E6%9F%A5%E7%9C%8B%E8%A1%A8%E6%A0%BC%5C%22)%5Cn%5Cn%23%20OpenClaw%E9%85%8D%E7%BD%AE%E5%AE%9A%E6%97%B6%EF%BC%9A%E6%AF%8F4%E5%B0%8F%E6%97%B6%E8%87%AA%E5%8A%A8%E6%89%A7%E8%A1%8C%E4%B8%80%E6%AC%A1%E5%85%A8%E9%87%8F%E7%9B%91%E6%8E%A7%5Cnscheduler.add_job(%5Cn%20%20%20%20func%3Dselect_good_product%2C%5Cn%20%20%20%20trigger%3D%5C%22interval%5C%22%2C%5Cn%20%20%20%20hours%3D4%2C%5Cn%20%20%20%20id%3D%5C%22taobao_product_monitor%5C%22%2C%5Cn%20%20%20%20replace_existing%3DTrue%5Cn)%5Cn%5Cn%23%20%E5%90%AF%E5%8A%A8%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1%5Cnif%20__name__%20%3D%3D%20%5C%22__main__%5C%22%3A%5Cn%20%20%20%20print(%5C%22OpenClaw%E6%B7%98%E5%AE%9D%E9%80%89%E5%93%81%E7%9B%91%E6%8E%A7%E6%9C%8D%E5%8A%A1%E5%90%AF%E5%8A%A8%E6%88%90%E5%8A%9F%EF%BC%8C%E6%AF%8F4%E5%B0%8F%E6%97%B6%E8%87%AA%E5%8A%A8%E8%BD%AE%E8%AF%A2%E7%AD%9B%E9%80%89...%5C%22)%5Cn%20%20%20%20scheduler.start()%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;from&amp;nbsp;openclaw&amp;nbsp;import&amp;nbsp;scheduler&amp;nbsp;&amp;nbsp;#&amp;nbsp;OpenClaw内置定时调度模块
from&amp;nbsp;taobao_item_api&amp;nbsp;import&amp;nbsp;batch_get_item
import&amp;nbsp;pandas&amp;nbsp;as&amp;nbsp;pd

#&amp;nbsp;==========自定义选品阈值（按需修改）==========
MIN_MONTH_SOLD&amp;nbsp;=&amp;nbsp;300&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;最低月销
MAX_MONTH_SOLD&amp;nbsp;=&amp;nbsp;5000&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;最高月销（避开头部红海爆款）
MIN_COMMISSION&amp;nbsp;=&amp;nbsp;15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;最低淘客佣金%
MIN_GOOD_RATE&amp;nbsp;=&amp;nbsp;0.92&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;最低好评率
DISCOUNT_RATE&amp;nbsp;=&amp;nbsp;0.6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;低于原价6折
GOOD_ITEM_SAVE&amp;nbsp;=&amp;nbsp;&amp;quot;./潜力爆款清单.xlsx&amp;quot;
#&amp;nbsp;============================================

def&amp;nbsp;select_good_product():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;筛选符合条件的潜力商品&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_data&amp;nbsp;=&amp;nbsp;batch_get_item()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;good_item_list&amp;nbsp;=&amp;nbsp;[]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;data&amp;nbsp;in&amp;nbsp;item_data:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;计算折扣：现价/原价
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;discount&amp;nbsp;=&amp;nbsp;float(data[&amp;quot;现价&amp;quot;])&amp;nbsp;/&amp;nbsp;float(data[&amp;quot;原价&amp;quot;])&amp;nbsp;if&amp;nbsp;float(data[&amp;quot;原价&amp;quot;])&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;else&amp;nbsp;1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;discount&amp;nbsp;=&amp;nbsp;1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;选品逻辑判断
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(MIN_MONTH_SOLD&amp;nbsp;&amp;lt;=&amp;nbsp;int(data[&amp;quot;月销量&amp;quot;])&amp;nbsp;&amp;lt;=&amp;nbsp;MAX_MONTH_SOLD
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and&amp;nbsp;float(data[&amp;quot;佣金比例%&amp;quot;])&amp;nbsp;&amp;gt;=&amp;nbsp;MIN_COMMISSION
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and&amp;nbsp;float(data[&amp;quot;好评率&amp;quot;])&amp;nbsp;&amp;gt;=&amp;nbsp;MIN_GOOD_RATE
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and&amp;nbsp;discount&amp;nbsp;&amp;lt;=&amp;nbsp;DISCOUNT_RATE):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;good_item_list.append(data)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;✅挖到潜力品：{data[&amp;#39;商品标题&amp;#39;]}，商品ID：{data[&amp;#39;商品ID&amp;#39;]}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;优质商品单独存表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;good_item_list:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df_good&amp;nbsp;=&amp;nbsp;pd.DataFrame(good_item_list)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df_history&amp;nbsp;=&amp;nbsp;pd.read_excel(GOOD_ITEM_SAVE)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df_final&amp;nbsp;=&amp;nbsp;pd.concat([df_history,&amp;nbsp;df_good],&amp;nbsp;ignore_index=True)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df_final&amp;nbsp;=&amp;nbsp;df_good
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df_final.to_excel(GOOD_ITEM_SAVE,&amp;nbsp;index=False)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;OpenClaw内置消息推送，可对接钉钉/企业微信
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scheduler.msg_send(title=&amp;quot;新发现淘宝潜力选品&amp;quot;,&amp;nbsp;content=f&amp;quot;本轮筛选出{len(good_item_list)}个优质货源，请查看表格&amp;quot;)

#&amp;nbsp;OpenClaw配置定时：每4小时自动执行一次全量监控
scheduler.add_job(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;func=select_good_product,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trigger=&amp;quot;interval&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hours=4,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id=&amp;quot;taobao_product_monitor&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;replace_existing=True
)

#&amp;nbsp;启动定时任务
if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;OpenClaw淘宝选品监控服务启动成功，每4小时自动轮询筛选...&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scheduler.start()&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background:rgba(220,220,220,0.5);background-image:url(https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png);display:none;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h2&gt;四、代码运行与落地优化技巧&lt;/h2&gt;&lt;h3&gt;1. 启动运行&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;先运行&lt;code&gt;python taobao_item_api.py&lt;/code&gt;测试单次接口调用，确认能正常生成 Excel 商品数据表；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;再新开终端运行&lt;code&gt;python openclaw_monitor.py&lt;/code&gt;，OpenClaw 定时任务常驻后台，自动循环监控。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;2. 进阶优化（适配批量类目选品）&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;批量导入商品 ID&lt;/strong&gt;：把全类目商品 ID 存到 csv 文件，用&lt;code&gt;pd.read_csv&lt;/code&gt;读取替换代码里&lt;code&gt;ITEM_ID_LIST&lt;/code&gt;，一次监控几百上千商品；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;新增价格异动监控&lt;/strong&gt;：新增规则：商品 3 天降价超 20% 自动标记，抓取短期低价清仓货源；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;存储升级 MySQL&lt;/strong&gt;：替换 Excel 存储，改用 pymysql 入库，方便长期大数据筛选、历史价格回溯；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;OpenClaw 自然语言配置&lt;/strong&gt;：不用改代码，在 OpenClaw 控制台输入自然语言修改筛选规则：&lt;code&gt;把佣金门槛改成12%，月销最低改成200&lt;/code&gt;，框架自动更新筛选参数。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;五、避坑总结（新手高频踩坑点）&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;接口请求超限&lt;/strong&gt;：商用接口大多有每日免费额度，大批量轮询时控制单次请求间隔（代码可加 time.sleep (1)），避免短时间高频调用被限流；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;商品 ID 失效&lt;/strong&gt;：淘宝商品下架后接口返回空数据，代码已做异常捕获，失效商品自动跳过不影响整体采集；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;OpenClaw 后台挂掉&lt;/strong&gt;：部署在云服务器时搭配 nohup 后台常驻，&lt;code&gt;nohup python openclaw_monitor.py &amp;amp;&lt;/code&gt;，服务器关机重启自动重启任务。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;六、拓展玩法&lt;/h2&gt;&lt;p&gt;基于这套基础架构，后续可继续对接&lt;strong&gt;淘宝关键词搜索 API&lt;/strong&gt;，输入类目关键词批量抓取上新商品 ID，自动加入监控池，实现「新品上线→实时抓取→自动筛选→优质品预警」全链路自动化选品，摆脱每天手动找品的低效模式。&lt;/p&gt;&lt;p&gt;&lt;span data-cke-copybin-end=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 03 Jun 2026 16:18:44 +0800</pubDate></item><item><title>电商效率革命：OpenClaw + 淘宝 API，一键实现商品监控与智能选品</title><link>https://shopapi.com.cn/?id=172</link><description>&lt;p&gt;&lt;span data-cke-copybin-start=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;做电商、搞副业、做数据分析的朋友，一定都懂&lt;strong&gt;选品&lt;/strong&gt;和&lt;strong&gt;监控&lt;/strong&gt;有多折磨人。手动翻页、复制价格、记录库存、盯活动变化，一天下来累到眼花，还容易漏掉爆款与商机。&lt;/p&gt;&lt;p&gt;今天给大家带来一套&lt;strong&gt;零爬虫、高稳定、可直接落地&lt;/strong&gt;的实战方案：用 OpenClaw 对接淘宝官方级商品接口，快速搭建&lt;strong&gt;全自动商品监控 + 选品系统&lt;/strong&gt;，小白也能跑通，代码直接复制可用。&lt;/p&gt;&lt;hr/&gt;&lt;h2&gt;一、为什么选 OpenClaw + 淘宝商品接口？&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;告别手写爬虫&lt;/strong&gt;：不用处理加密、反爬、登录、滑块，接口直接返回结构化商品数据。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;稳定不掉线&lt;/strong&gt;：基于标准 API 调用，比网页爬取更合规、更持久、更适合 7×24 小时运行。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;OpenClaw 天然适配&lt;/strong&gt;：支持定时任务、多任务调度、数据解析、告警推送，开箱即用。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;场景全覆盖&lt;/strong&gt;：价格监控、库存预警、爆款挖掘、竞品跟踪、选品库自动生成。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;一句话：&lt;strong&gt;用最低成本，把选品监控从 “人工盯” 变成 “自动跑”。&lt;/strong&gt;&lt;/p&gt;&lt;hr/&gt;&lt;h2&gt;二、整体流程（超清晰）&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;申请并配置接口权限，获取调用密钥&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;在 OpenClaw 中编写请求任务&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;定义监控规则（价格、销量、库存、优惠券等）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;自动解析、筛选、入库 / 推送告警&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;输出可直接上架的选品清单&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr/&gt;&lt;h2&gt;三、实战代码（可直接运行）&lt;/h2&gt;&lt;p&gt;以下为 Python 示例，基于标准接口规范编写，可直接放入 OpenClaw 执行。&lt;/p&gt;&lt;h3&gt;1. 接口调用核心代码&lt;/h3&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;0&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22import%20requests%5Cnimport%20json%5Cnimport%20time%5Cn%5Cn%23%20%E6%8E%A5%E5%8F%A3%E9%85%8D%E7%BD%AE%EF%BC%88%E6%9B%BF%E6%8D%A2%E4%B8%BA%E4%BD%A0%E7%9A%84%E7%9C%9F%E5%AE%9E%E4%BF%A1%E6%81%AF%EF%BC%89%5CnCONFIG%20%3D%20%7B%5Cn%20%20%20%20%5C%22api_url%5C%22%3A%20%5C%22https%3A%2F%2Fopen.onebound.cn%2Fapi%2Ftaobao.item_get_pro%5C%22%2C%5Cn%20%20%20%20%5C%22api_key%5C%22%3A%20%5C%22%E4%BD%A0%E7%9A%84API_KEY%5C%22%2C%5Cn%20%20%20%20%5C%22api_secret%5C%22%3A%20%5C%22%E4%BD%A0%E7%9A%84API_SECRET%5C%22%2C%5Cn%20%20%20%20%5C%22num_iid%5C%22%3A%20%5C%22%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81ID%5C%22%2C%20%20%23%20%E8%A6%81%E7%9B%91%E6%8E%A7%E7%9A%84%E5%95%86%E5%93%81ID%5Cn%20%20%20%20%5C%22interval%5C%22%3A%20600%20%20%23%20%E7%9B%91%E6%8E%A7%E9%97%B4%E9%9A%94%EF%BC%8C%E5%8D%95%E4%BD%8D%E7%A7%92%5Cn%7D%5Cn%5Cndef%20get_tb_item_info()%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E8%8E%B7%E5%8F%96%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81%E8%AF%A6%E6%83%85%EF%BC%9A%E6%A0%87%E9%A2%98%E3%80%81%E4%BB%B7%E6%A0%BC%E3%80%81%E5%BA%93%E5%AD%98%E3%80%81%E9%94%80%E9%87%8F%E3%80%81%E4%BC%98%E6%83%A0%E5%88%B8%E3%80%81%E5%9B%BE%E7%89%87%E7%AD%89%5C%22%5C%22%5C%22%5Cn%20%20%20%20params%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%5C%22api_key%5C%22%3A%20CONFIG%5B%5C%22api_key%5C%22%5D%2C%5Cn%20%20%20%20%20%20%20%20%5C%22api_secret%5C%22%3A%20CONFIG%5B%5C%22api_secret%5C%22%5D%2C%5Cn%20%20%20%20%20%20%20%20%5C%22num_iid%5C%22%3A%20CONFIG%5B%5C%22num_iid%5C%22%5D%2C%5Cn%20%20%20%20%20%20%20%20%5C%22fields%5C%22%3A%20%5C%22num_iid%2Ctitle%2Cprice%2Corg_price%2Csell_count%2Cquantity%2Cpic_url%2Cshop_name%5C%22%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20resp%20%3D%20requests.get(CONFIG%5B%5C%22api_url%5C%22%5D%2C%20params%3Dparams%2C%20timeout%3D15)%5Cn%20%20%20%20%20%20%20%20if%20resp.status_code%20%3D%3D%20200%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20return%20resp.json()%5Cn%20%20%20%20except%20Exception%20as%20e%3A%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E8%AF%B7%E6%B1%82%E5%BC%82%E5%B8%B8%EF%BC%9A%7Be%7D%5C%22)%5Cn%20%20%20%20return%20None%5Cn%5Cndef%20monitor_rule(item_data)%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E7%9B%91%E6%8E%A7%E8%A7%84%E5%88%99%EF%BC%9A%E9%99%8D%E4%BB%B7%E3%80%81%E5%BA%93%E5%AD%98%E4%B8%8D%E8%B6%B3%E3%80%81%E9%94%80%E9%87%8F%E6%9A%B4%E6%B6%A8%E7%AD%89%5C%22%5C%22%5C%22%5Cn%20%20%20%20if%20not%20item_data%20or%20%5C%22result%5C%22%20not%20in%20item_data%3A%5Cn%20%20%20%20%20%20%20%20return%5Cn%5Cn%20%20%20%20item%20%3D%20item_data%5B%5C%22result%5C%22%5D%5Cn%20%20%20%20price%20%3D%20float(item.get(%5C%22price%5C%22%2C%209999))%5Cn%20%20%20%20sell_count%20%3D%20int(item.get(%5C%22sell_count%5C%22%2C%200))%5Cn%20%20%20%20quantity%20%3D%20int(item.get(%5C%22quantity%5C%22%2C%200))%5Cn%5Cn%20%20%20%20%23%20%E8%A7%84%E5%88%991%EF%BC%9A%E4%BB%B7%E6%A0%BC%E4%BD%8E%E4%BA%8E%E9%98%88%E5%80%BC%5Cn%20%20%20%20if%20price%20%3C%2050%3A%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E3%80%90%E9%99%8D%E4%BB%B7%E6%8F%90%E9%86%92%E3%80%91%7Bitem.get(&amp;#39;title&amp;#39;)%7D%EF%BC%8C%E5%BD%93%E5%89%8D%E4%BB%B7%EF%BC%9A%7Bprice%7D%5C%22)%5Cn%5Cn%20%20%20%20%23%20%E8%A7%84%E5%88%992%EF%BC%9A%E5%BA%93%E5%AD%98%E7%B4%A7%E5%BC%A0%5Cn%20%20%20%20if%200%20%3C%20quantity%20%3C%3D%205%3A%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E3%80%90%E5%BA%93%E5%AD%98%E9%A2%84%E8%AD%A6%E3%80%91%7Bitem.get(&amp;#39;title&amp;#39;)%7D%20%E4%BB%85%E5%89%A9%20%7Bquantity%7D%20%E4%BB%B6%5C%22)%5Cn%5Cn%20%20%20%20%23%20%E8%A7%84%E5%88%993%EF%BC%9A%E9%94%80%E9%87%8F%E9%A3%99%E5%8D%87%5Cn%20%20%20%20if%20sell_count%20%3E%201000%3A%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E3%80%90%E7%88%86%E6%AC%BE%E5%8F%91%E7%8E%B0%E3%80%91%7Bitem.get(&amp;#39;title&amp;#39;)%7D%20%E9%94%80%E9%87%8F%20%7Bsell_count%7D%2B%5C%22)%5Cn%5Cndef%20run_monitor()%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E5%BE%AA%E7%8E%AF%E7%9B%91%E6%8E%A7%E4%B8%BB%E5%87%BD%E6%95%B0%5C%22%5C%22%5C%22%5Cn%20%20%20%20print(%5C%22%E5%BC%80%E5%A7%8B%E5%95%86%E5%93%81%E7%9B%91%E6%8E%A7%EF%BC%8C%E6%8C%89%20Ctrl%2BC%20%E5%81%9C%E6%AD%A2%5C%22)%5Cn%20%20%20%20while%20True%3A%5Cn%20%20%20%20%20%20%20%20data%20%3D%20get_tb_item_info()%5Cn%20%20%20%20%20%20%20%20monitor_rule(data)%5Cn%20%20%20%20%20%20%20%20time.sleep(CONFIG%5B%5C%22interval%5C%22%5D)%5Cn%5Cnif%20__name__%20%3D%3D%20%5C%22__main__%5C%22%3A%5Cn%20%20%20%20run_monitor()%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;import&amp;nbsp;requests
import&amp;nbsp;json
import&amp;nbsp;time

#&amp;nbsp;接口配置（替换为你的真实信息）
CONFIG&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;api_url&amp;quot;:&amp;nbsp;&amp;quot;https://open.onebound.cn/api/taobao.item_get_pro&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;api_key&amp;quot;:&amp;nbsp;&amp;quot;你的API_KEY&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;api_secret&amp;quot;:&amp;nbsp;&amp;quot;你的API_SECRET&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;num_iid&amp;quot;:&amp;nbsp;&amp;quot;淘宝商品ID&amp;quot;,&amp;nbsp;&amp;nbsp;#&amp;nbsp;要监控的商品ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;interval&amp;quot;:&amp;nbsp;600&amp;nbsp;&amp;nbsp;#&amp;nbsp;监控间隔，单位秒
}

def&amp;nbsp;get_tb_item_info():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;获取淘宝商品详情：标题、价格、库存、销量、优惠券、图片等&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;api_key&amp;quot;:&amp;nbsp;CONFIG[&amp;quot;api_key&amp;quot;],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;api_secret&amp;quot;:&amp;nbsp;CONFIG[&amp;quot;api_secret&amp;quot;],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;num_iid&amp;quot;:&amp;nbsp;CONFIG[&amp;quot;num_iid&amp;quot;],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;fields&amp;quot;:&amp;nbsp;&amp;quot;num_iid,title,price,org_price,sell_count,quantity,pic_url,shop_name&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resp&amp;nbsp;=&amp;nbsp;requests.get(CONFIG[&amp;quot;api_url&amp;quot;],&amp;nbsp;params=params,&amp;nbsp;timeout=15)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;resp.status_code&amp;nbsp;==&amp;nbsp;200:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;resp.json()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;Exception&amp;nbsp;as&amp;nbsp;e:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;请求异常：{e}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None

def&amp;nbsp;monitor_rule(item_data):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;监控规则：降价、库存不足、销量暴涨等&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;item_data&amp;nbsp;or&amp;nbsp;&amp;quot;result&amp;quot;&amp;nbsp;not&amp;nbsp;in&amp;nbsp;item_data:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item&amp;nbsp;=&amp;nbsp;item_data[&amp;quot;result&amp;quot;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price&amp;nbsp;=&amp;nbsp;float(item.get(&amp;quot;price&amp;quot;,&amp;nbsp;9999))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sell_count&amp;nbsp;=&amp;nbsp;int(item.get(&amp;quot;sell_count&amp;quot;,&amp;nbsp;0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;quantity&amp;nbsp;=&amp;nbsp;int(item.get(&amp;quot;quantity&amp;quot;,&amp;nbsp;0))

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;规则1：价格低于阈值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;price&amp;nbsp;&amp;lt;&amp;nbsp;50:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;【降价提醒】{item.get(&amp;#39;title&amp;#39;)}，当前价：{price}&amp;quot;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;规则2：库存紧张
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;0&amp;nbsp;&amp;lt;&amp;nbsp;quantity&amp;nbsp;&amp;lt;=&amp;nbsp;5:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;【库存预警】{item.get(&amp;#39;title&amp;#39;)}&amp;nbsp;仅剩&amp;nbsp;{quantity}&amp;nbsp;件&amp;quot;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;规则3：销量飙升
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;sell_count&amp;nbsp;&amp;gt;&amp;nbsp;1000:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;【爆款发现】{item.get(&amp;#39;title&amp;#39;)}&amp;nbsp;销量&amp;nbsp;{sell_count}+&amp;quot;)

def&amp;nbsp;run_monitor():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;循环监控主函数&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;开始商品监控，按&amp;nbsp;Ctrl+C&amp;nbsp;停止&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while&amp;nbsp;True:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;get_tb_item_info()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;monitor_rule(data)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(CONFIG[&amp;quot;interval&amp;quot;])

if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;run_monitor()&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h3&gt;2. 代码说明&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;支持获取：商品 ID、标题、现价、原价、销量、库存、主图、店铺名等&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;可自由扩展：优惠券、活动价、发货地、评价数、SKU 等字段&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;直接在 OpenClaw 里创建定时任务，实现&lt;strong&gt;无人值守&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr/&gt;&lt;h2&gt;四、如何用这套系统做高效选品？&lt;/h2&gt;&lt;h3&gt;1. 批量选品（适合店群 / 无货源）&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;准备一批商品 ID 列表&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;循环调用接口，批量抓取&lt;strong&gt;价格、利润、销量、评分&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;自动过滤：低利润、低销量、高风险店铺&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;输出 Excel 选品报告&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;2. 竞品监控（适合精细化运营）&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;监控竞品价格变动&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;监控对方上新品、改标题、加活动&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;自动记录历史曲线，辅助定价决策&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;3. 爆款捕捉（适合副业 / 达人）&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;按关键词批量拉取商品&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;筛选：高销量 + 低评价数 + 低退货率&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;自动标记潜力新品，第一时间上车&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr/&gt;&lt;h2&gt;五、优势总结（真实落地体验）&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;快&lt;/strong&gt;：10 分钟搭好监控，不用写复杂爬虫&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;稳&lt;/strong&gt;：接口标准化，不依赖页面结构，不易失效&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;省&lt;/strong&gt;：解放人力，一人可盯数百商品&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;准&lt;/strong&gt;：结构化数据，直接用于分析、报表、上架&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;轻&lt;/strong&gt;：代码极简，可部署在服务器、软路由、云函数&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr/&gt;&lt;h2&gt;六、适合人群&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;电商卖家 / 店群从业者&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;无货源模式创业者&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;电商数据分析 / 运营&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;想做副业、抓品、比价的普通人&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;需要稳定商品数据的开发者&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr/&gt;&lt;h2&gt;七、写在最后&lt;/h2&gt;&lt;p&gt;电商的核心永远是&lt;strong&gt;信息差&lt;/strong&gt;与&lt;strong&gt;效率差&lt;/strong&gt;。 别人手动一天盯 10 个品，你用 OpenClaw + 接口，一天自动监控 1000 个品，还能实时告警、自动筛选。&lt;/p&gt;&lt;p&gt;&lt;span data-cke-copybin-end=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 01 Jun 2026 17:41:29 +0800</pubDate></item><item><title>电商效率革命：Open Claw + 淘宝 API，一键实现商品监控与智能选品</title><link>https://shopapi.com.cn/?id=171</link><description>&lt;p&gt;&lt;span data-cke-copybin-start=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;做电商、做淘系运营、做跨境分销的朋友，一定都被这几件事折磨过：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;每天手动翻几十页商品，眼睛看花也找不到潜力款&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;竞品价格、销量、库存变动盯不过来，错过最佳入场时机&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;想做自动化选品，爬虫容易风控，自己开发又慢又不稳定&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;今天给大家带来一套&lt;strong&gt;零风控、高稳定、可直接落地&lt;/strong&gt;的实战方案 —— 用 Open Claw 对接淘宝官方级商品 API，快速搭建属于自己的商品监控 &amp;amp; 选品系统。全程不涉及违规爬虫，代码可直接跑，适合个人开发者、小店主、技术团队直接使用。&lt;/p&gt;&lt;h2&gt;一、为什么选 Open Claw + 淘宝商品 API？&lt;/h2&gt;&lt;p&gt;传统方案要么容易被平台风控，要么数据不全、响应慢。Open Claw 这套方案优势很明显：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;稳定合规&lt;/strong&gt;：基于标准 API 接口，不触发风控，长期可用&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;字段齐全&lt;/strong&gt;：支持商品标题、价格、库存、销量、图片、详情、SKU、优惠券等全字段返回&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;响应快速&lt;/strong&gt;：毫秒级返回，支持批量轮询监控&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;上手简单&lt;/strong&gt;：几行代码即可接入，无需复杂配置&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;场景丰富&lt;/strong&gt;：选品分析、价格监控、竞品跟踪、铺货上架、数据看板全能做&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;尤其适合：淘宝客、电商工具开发者、店铺运营、跨境铺货、短视频选品等场景。&lt;/p&gt;&lt;h2&gt;二、快速接入流程（5 分钟上手）&lt;/h2&gt;&lt;h3&gt;1. 准备工作&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;获取&lt;code&gt;&lt;code&gt;&lt;span aria-label=&quot;a 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_inline cke_widget_csdnlink cke_widget_wrapper_link-info cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;a&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;2&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;link-info cke_widget_editable cke_widget_element&quot; contenteditable=&quot;true&quot; data-cke-enter-mode=&quot;2&quot; data-cke-widget-data=&quot;%7B%22url%22%3A%22https%3A%2F%2Fo0b.cn%2Ficris%22%2C%22text%22%3A%22key%22%2C%22desc%22%3A%22%22%2C%22icon%22%3A%22%22%2C%22isCard%22%3Afalse%2C%22hasResquest%22%3Atrue%2C%22iconDefault%22%3A%22https%3A%2F%2Fcsdnimg.cn%2Frelease%2Fblog_editor_html%2Frelease2.4.6%2Fckeditor%2Fplugins%2FCsdnLink%2Ficons%2Ficon-default.png%3Ft%3DQ239%22%2C%22id%22%3A%22Ap5j8O-1779929786109%22%2C%22classes%22%3A%7B%22link-info%22%3A1%7D%7D&quot; data-cke-widget-editable=&quot;text&quot; data-cke-widget-keep-attr=&quot;0&quot; data-link-icon=&quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=Q239&quot; data-link-title=&quot;key&quot; data-widget=&quot;csdnlink&quot; href=&quot;https://o0b.cn/icris&quot; title=&quot;key&quot;&gt;&lt;strong&gt;key&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;/code&gt;&lt;/code&gt;与&lt;code&gt;secret&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;确定要抓取的商品 ID（num_iid）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Python 3.x 环境，安装 requests 库&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;2. 接口说明（核心：商品详情获取）&lt;/h3&gt;&lt;p&gt;我们使用&lt;strong&gt;item_get_pro&lt;/strong&gt;接口，一次性获取商品深度信息，支持淘宝 / 天猫，返回字段最全。&lt;/p&gt;&lt;p&gt;请求地址：官方网关地址 请求方式：HTTP POST/GET 核心参数：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;num_iid：商品 ID&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;key：授权 key&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;secret：授权密钥&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;fields：可指定返回字段（留空全返回）&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;三、完整可运行代码（Python）&lt;/h2&gt;&lt;p&gt;直接复制即可运行，替换 key、secret、num_iid 就能用。&lt;/p&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;0&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22import%20requests%5Cnimport%20json%5Cnimport%20time%5Cn%5Cn%23%20%E9%85%8D%E7%BD%AE%E4%BF%A1%E6%81%AF%EF%BC%88%E8%87%AA%E8%A1%8C%E6%9B%BF%E6%8D%A2%EF%BC%89%5CnAPI_KEY%20%3D%20%5C%22%E4%BD%A0%E7%9A%84API_KEY%5C%22%5CnAPI_SECRET%20%3D%20%5C%22%E4%BD%A0%E7%9A%84API_SECRET%5C%22%5CnITEM_ID%20%3D%20%5C%22666666666666%5C%22%20%20%23%20%E8%A6%81%E7%9B%91%E6%8E%A7%E7%9A%84%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81ID%5CnAPI_URL%20%3D%20%5C%22https%3A%2F%2Fopen.claw%2Fapi%2Ftaobao%2Fitem_get_pro%5C%22%5Cn%5Cndef%20get_tb_item_info(num_iid)%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E8%8E%B7%E5%8F%96%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AF%5C%22%5C%22%5C%22%5Cn%20%20%20%20params%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%5C%22key%5C%22%3A%20API_KEY%2C%5Cn%20%20%20%20%20%20%20%20%5C%22secret%5C%22%3A%20API_SECRET%2C%5Cn%20%20%20%20%20%20%20%20%5C%22num_iid%5C%22%3A%20num_iid%2C%5Cn%20%20%20%20%20%20%20%20%5C%22fields%5C%22%3A%20%5C%22num_iid%2Ctitle%2Cprice%2CminGroupPrice%2Cpic_url%2Cvolume%2Cseller_id%2Cis_online%5C%22%5Cn%20%20%20%20%7D%5Cn%20%20%20%20try%3A%5Cn%20%20%20%20%20%20%20%20response%20%3D%20requests.get(API_URL%2C%20params%3Dparams%2C%20timeout%3D10)%5Cn%20%20%20%20%20%20%20%20if%20response.status_code%20%3D%3D%20200%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20return%20response.json()%5Cn%20%20%20%20%20%20%20%20else%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E8%AF%B7%E6%B1%82%E5%A4%B1%E8%B4%A5%EF%BC%9A%7Bresponse.status_code%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20return%20None%5Cn%20%20%20%20except%20Exception%20as%20e%3A%5Cn%20%20%20%20%20%20%20%20print(f%5C%22%E5%BC%82%E5%B8%B8%EF%BC%9A%7Bstr(e)%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20return%20None%5Cn%5Cndef%20monitor_price(num_iid%2C%20interval%3D600)%3A%5Cn%20%20%20%20%5C%22%5C%22%5C%22%E7%9B%91%E6%8E%A7%E5%95%86%E5%93%81%E4%BB%B7%E6%A0%BC%E5%8F%98%E5%8A%A8%5C%22%5C%22%5C%22%5Cn%20%20%20%20last_price%20%3D%20None%5Cn%20%20%20%20while%20True%3A%5Cn%20%20%20%20%20%20%20%20data%20%3D%20get_tb_item_info(num_iid)%5Cn%20%20%20%20%20%20%20%20if%20data%20and%20data.get(%5C%22success%5C%22)%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20item%20%3D%20data.get(%5C%22result%5C%22%2C%20%7B%7D)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20current_price%20%3D%20item.get(%5C%22price%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20title%20%3D%20item.get(%5C%22title%5C%22%2C%20%5C%22%5C%22)%5B%3A20%5D%5Cn%20%20%20%20%20%20%20%20%20%20%20%20volume%20%3D%20item.get(%5C%22volume%5C%22%2C%200)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20is_online%20%3D%20item.get(%5C%22is_online%5C%22%2C%20True)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5Cn%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%5B%7Btime.ctime()%7D%5D%20%7Btitle%7D%20%7C%20%E7%8E%B0%E4%BB%B7%EF%BC%9A%7Bcurrent_price%7D%20%7C%20%E9%94%80%E9%87%8F%EF%BC%9A%7Bvolume%7D%20%7C%20%E5%9C%A8%E5%94%AE%EF%BC%9A%7Bis_online%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5Cn%20%20%20%20%20%20%20%20%20%20%20%20if%20last_price%20and%20current_price%20!%3D%20last_price%3A%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20print(f%5C%22%E3%80%90%EF%BC%81%EF%BC%81%E4%BB%B7%E6%A0%BC%E5%8F%98%E5%8A%A8%E3%80%91%E4%BB%8E%20%7Blast_price%7D%20%E2%86%92%20%7Bcurrent_price%7D%5C%22)%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5Cn%20%20%20%20%20%20%20%20%20%20%20%20last_price%20%3D%20current_price%5Cn%20%20%20%20%20%20%20%20time.sleep(interval)%5Cn%5Cnif%20__name__%20%3D%3D%20%5C%22__main__%5C%22%3A%5Cn%20%20%20%20%23%20%E5%8D%95%E6%AC%A1%E8%8E%B7%E5%8F%96%E5%95%86%E5%93%81%E4%BF%A1%E6%81%AF%5Cn%20%20%20%20item_data%20%3D%20get_tb_item_info(ITEM_ID)%5Cn%20%20%20%20print(json.dumps(item_data%2C%20ensure_ascii%3DFalse%2C%20indent%3D2))%5Cn%20%20%20%20%5Cn%20%20%20%20%23%20%E5%BC%80%E5%90%AF%E5%BE%AA%E7%8E%AF%E7%9B%91%E6%8E%A7%EF%BC%88%E6%B3%A8%E9%87%8A%E5%85%B3%E9%97%AD%EF%BC%89%5Cn%20%20%20%20%23%20monitor_price(ITEM_ID%2C%20interval%3D600)%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;import&amp;nbsp;requests
import&amp;nbsp;json
import&amp;nbsp;time

#&amp;nbsp;配置信息（自行替换）
API_KEY&amp;nbsp;=&amp;nbsp;&amp;quot;你的API_KEY&amp;quot;
API_SECRET&amp;nbsp;=&amp;nbsp;&amp;quot;你的API_SECRET&amp;quot;
ITEM_ID&amp;nbsp;=&amp;nbsp;&amp;quot;666666666666&amp;quot;&amp;nbsp;&amp;nbsp;#&amp;nbsp;要监控的淘宝商品ID
API_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://open.claw/api/taobao/item_get_pro&amp;quot;

def&amp;nbsp;get_tb_item_info(num_iid):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;获取淘宝商品详细信息&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;key&amp;quot;:&amp;nbsp;API_KEY,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;secret&amp;quot;:&amp;nbsp;API_SECRET,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;num_iid&amp;quot;:&amp;nbsp;num_iid,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;fields&amp;quot;:&amp;nbsp;&amp;quot;num_iid,title,price,minGroupPrice,pic_url,volume,seller_id,is_online&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;requests.get(API_URL,&amp;nbsp;params=params,&amp;nbsp;timeout=10)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;response.status_code&amp;nbsp;==&amp;nbsp;200:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;response.json()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;请求失败：{response.status_code}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;Exception&amp;nbsp;as&amp;nbsp;e:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;异常：{str(e)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None

def&amp;nbsp;monitor_price(num_iid,&amp;nbsp;interval=600):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;监控商品价格变动&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;last_price&amp;nbsp;=&amp;nbsp;None
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while&amp;nbsp;True:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;get_tb_item_info(num_iid)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;data&amp;nbsp;and&amp;nbsp;data.get(&amp;quot;success&amp;quot;):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item&amp;nbsp;=&amp;nbsp;data.get(&amp;quot;result&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_price&amp;nbsp;=&amp;nbsp;item.get(&amp;quot;price&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title&amp;nbsp;=&amp;nbsp;item.get(&amp;quot;title&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;)[:20]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volume&amp;nbsp;=&amp;nbsp;item.get(&amp;quot;volume&amp;quot;,&amp;nbsp;0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is_online&amp;nbsp;=&amp;nbsp;item.get(&amp;quot;is_online&amp;quot;,&amp;nbsp;True)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;[{time.ctime()}]&amp;nbsp;{title}&amp;nbsp;|&amp;nbsp;现价：{current_price}&amp;nbsp;|&amp;nbsp;销量：{volume}&amp;nbsp;|&amp;nbsp;在售：{is_online}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;last_price&amp;nbsp;and&amp;nbsp;current_price&amp;nbsp;!=&amp;nbsp;last_price:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;【！！价格变动】从&amp;nbsp;{last_price}&amp;nbsp;→&amp;nbsp;{current_price}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;last_price&amp;nbsp;=&amp;nbsp;current_price
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(interval)

if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;单次获取商品信息
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_data&amp;nbsp;=&amp;nbsp;get_tb_item_info(ITEM_ID)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(json.dumps(item_data,&amp;nbsp;ensure_ascii=False,&amp;nbsp;indent=2))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;开启循环监控（注释关闭）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;monitor_price(ITEM_ID,&amp;nbsp;interval=600)&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;h2&gt;四、返回结果说明（常用字段）&lt;/h2&gt;&lt;p&gt;接口返回结构清晰，直接解析使用：&lt;/p&gt;&lt;div aria-label=&quot;代码段 小部件&quot; class=&quot;cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected&quot; contenteditable=&quot;false&quot; data-cke-display-name=&quot;代码段&quot; data-cke-filter=&quot;off&quot; data-cke-widget-id=&quot;1&quot; data-cke-widget-wrapper=&quot;1&quot; role=&quot;region&quot; tabindex=&quot;-1&quot;&gt;&lt;pre class=&quot;cke_widget_element&quot; data-cke-widget-data=&quot;%7B%22classes%22%3Anull%2C%22lang%22%3Anull%2C%22code%22%3A%22%7B%5Cn%20%20%20%20%5C%22success%5C%22%3A%20true%2C%5Cn%20%20%20%20%5C%22result%5C%22%3A%20%7B%5Cn%20%20%20%20%20%20%20%20%5C%22num_iid%5C%22%3A%20%5C%22666666666666%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%5C%22title%5C%22%3A%20%5C%22%E5%95%86%E5%93%81%E6%A0%87%E9%A2%98%E5%90%8D%E7%A7%B0%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%5C%22price%5C%22%3A%20%5C%22129.00%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%5C%22minGroupPrice%5C%22%3A%20%5C%2299.00%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%5C%22pic_url%5C%22%3A%20%5C%22https%3A%2F%2Fxxx.jpg%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%5C%22volume%5C%22%3A%202389%2C%5Cn%20%20%20%20%20%20%20%20%5C%22seller_id%5C%22%3A%20%5C%2212345678%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%5C%22is_online%5C%22%3A%20true%2C%5Cn%20%20%20%20%20%20%20%20%5C%22detail_url%5C%22%3A%20%5C%22https%3A%2F%2Fitem.taobao.com%2Fxxx.htm%5C%22%5Cn%20%20%20%20%7D%5Cn%7D%22%7D&quot; data-cke-widget-keep-attr=&quot;0&quot; data-widget=&quot;codeSnippet&quot;&gt;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;success&amp;quot;:&amp;nbsp;true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;result&amp;quot;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;num_iid&amp;quot;:&amp;nbsp;&amp;quot;666666666666&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;title&amp;quot;:&amp;nbsp;&amp;quot;商品标题名称&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;price&amp;quot;:&amp;nbsp;&amp;quot;129.00&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;minGroupPrice&amp;quot;:&amp;nbsp;&amp;quot;99.00&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;pic_url&amp;quot;:&amp;nbsp;&amp;quot;https://xxx.jpg&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;volume&amp;quot;:&amp;nbsp;2389,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;seller_id&amp;quot;:&amp;nbsp;&amp;quot;12345678&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;is_online&amp;quot;:&amp;nbsp;true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;detail_url&amp;quot;:&amp;nbsp;&amp;quot;https://item.taobao.com/xxx.htm&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;span class=&quot;cke_reset cke_widget_drag_handler_container&quot; style=&quot;background: url(&amp;quot;https://csdnimg.cn/release/blog_editor_html/release2.4.6/ckeditor/plugins/widget/images/handle.png&amp;quot;) rgba(220, 220, 220, 0.5); top: 0px; left: 0px;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;常用监控维度：价格、销量、库存状态、上下架、优惠券、评分、SKU 规格等。&lt;/p&gt;&lt;h2&gt;五、如何用这套接口做智能选品？&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;批量拉取类目商品&lt;/strong&gt;：循环调用接口，构建商品池&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;过滤潜力款&lt;/strong&gt;：按价格区间、销量增速、评分、是否包邮筛选&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;自动监控榜单&lt;/strong&gt;：实时跟踪热门商品，自动预警&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;竞品跟踪&lt;/strong&gt;：监控对手价格、库存、活动，自动调整策略&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;铺货同步&lt;/strong&gt;：获取数据后自动生成上架表格，对接店铺后台&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;六、避坑与最佳实践&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;不要高频无间隔轮询，合理设置间隔时间（建议≥30 秒）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;关键商品可多实例分布式监控，提升稳定性&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;筛选时优先抓&lt;strong&gt;销量增长快、价格有优势、评价稳定&lt;/strong&gt;的款&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;数据本地缓存，减少重复请求，提升效率&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;用于选品时，结合类目趋势、季节属性做综合判断&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;七、总结&lt;/h2&gt;&lt;p&gt;Open Claw + 淘宝商品 API，本质是把&lt;strong&gt;复杂的商品数据获取&lt;/strong&gt;变成&lt;strong&gt;简单的接口调用&lt;/strong&gt;，让个人和小团队也能快速拥有大厂级的数据能力。不用写爬虫、不用处理风控、不用解析复杂页面，拿来即用。&lt;/p&gt;&lt;p&gt;&lt;span data-cke-copybin-end=&quot;1&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Thu, 28 May 2026 08:58:49 +0800</pubDate></item></channel></rss>