SBT 产品型号批量查询(简化版)
批量查询 sinobestech.com.hk (SBT Greater China Limited) 网站的产品型号,只提取产品描述和品牌,自动输出 Excel 表格。
与完整版不同,此版本直接使用 SBT 站内搜索,不需要抓取所有分类页面,因此速度更快、输出更简洁。
触发条件
当用户提到以下关键词时触发:
- "查型号"、"查SBT"、"批量查型号"、"sinobestech"、"查一下 XX型号"、"SBT型号"、"型号查询"
- "上传 Excel"、"从 Excel 查型号"、"文件查询"
- 用户直接给出一组存储产品型号(如 ST4000DM004, MZQL27T6HBLA-00A07 等)
- 用户上传包含型号列的 Excel 文件
输入格式
用户在对话中提供型号列表,或上传 Excel 文件。
文本输入
支持以下格式:
- 逗号分隔:
ST1000VX013 P, CT32G56C46S5T - 换行分隔:每行一个型号
- 混合格式
注意:型号内部的空格会被保留(例如
ST1000VX013 P视为一个型号),因此不再用空格作为多个型号的分隔符。
Excel 输入
上传 .xlsx 文件,要求:
- 第一行为表头
- 包含一个型号列,列名会被自动识别(不区分大小写),支持:
料号、Part No.、PartNo、Part Number、型号、Model、PN、Part #等 - 从第二行开始为型号数据
如果系统无法识别型号列,会列出当前表头并提示支持的列名。
工作流程
- 解析输入:从用户消息或上传的 Excel 中提取所有型号(逗号/换行分隔)
- 站内搜索:对每个型号直接调用 SBT 网站搜索,获取结果页面
- 后缀回退:如果完整型号未找到,依次尝试去掉最后一个空格后缀或连字符后缀再查
- 空格后缀:
ST1000VX013 P→ST1000VX013 - 连字符后缀:
WUH722424ALE6L4-0F62796→WUH722424ALE6L4
- 空格后缀:
- 提取信息:从搜索结果表格中读取产品描述和品牌
- 输出 Excel:结果写入 Excel 文件,未找到的型号标记为"未找到";回退查到的型号作为新增行,序号标记为
1-1、2-1等 - 展示结果:通过 present_files 将 Excel 文件呈现给用户
输出字段
| 列名 | 说明 |
|------|------|
| 序号 | 输入顺序(从 1 开始)。若触发了后缀回退,新增行的序号为 1-1、2-1 等 |
| 型号 (Part No.) | 产品型号 |
| 描述 (Description) | 产品规格描述 |
| 品牌 (Brand) | 制造商 |
| 状态 | "找到" 或 "未找到" |
环境准备
首次使用前,安装 Python 依赖:
pip install -r ~/.workbuddy/skills/sbt-product-query/requirements.txt
依赖包:requests、beautifulsoup4、openpyxl、lxml。
执行命令
文本模式
python ~/.workbuddy/skills/sbt-product-query/scripts/sbt_query.py \
--partnos "ST4000DM004,ST8000DM004,MZQL27T6HBLA-00A07" \
--output "SBT查询结果.xlsx"
Excel 模式
python ~/.workbuddy/skills/sbt-product-query/scripts/sbt_query.py \
--file "型号列表.xlsx" \
--output "SBT查询结果.xlsx"
注意事项
- 每次查询直接调用 SBT 站内搜索,确保信息最新
- 查询速度取决于型号数量,每型号约 1-3 秒
- 型号匹配为精确匹配或包含匹配;如果搜索返回多个结果,取第一个匹配项
- 后缀回退:完整型号未找到时,依次尝试去掉最后一个空格后缀(
ST1000VX013 P→ST1000VX013)或连字符后缀(WUH722424ALE6L4-0F62796→WUH722424ALE6L4)。原型号行保留,回退命中结果作为新增行输出 - 网站数据可能更新,如有疑问建议在网站上二次确认
Scan to join WeChat group