← 返回
未分类

南网招标监测

南方电网供应链统一平台(www.bidding.csg.cn)企业管理咨询类招标公告自动监测工具。 当用户需要监控南方电网(CSG)企业管理咨询类招标公告、搜索南网采购商机、 运行/配置南网招标监测任务时触发此技能。 支持全自动抓取→三阶段过滤→详情页验证→双层去重→Excel输出的完整流程。 版本:V7.2(2026-05-07)
>南网招标自动监测
user_38629e25
未分类 community v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 81
下载
💾 0
安装
1
版本
#latest

概述

南网招标监测 Skill (V7.2)

版本历史

| 版本 | 日期 | 变更说明 |

|------|------|----------|

| V1 | 2026-05-03 | 初版,使用 ecsg.com.cn 接口 |

| V2 | 2026-05-03 | 切换为 www.bidding.csg.cn 官方平台;增加详情页有效期验证 |

| V3 | 2026-05-03 | 修复时间格式兼容性(允许数字间空格);修复分页停止条件 |

| V4 | 2026-05-03 | 新增假阳性排除阶段(约30种非管理咨询模式);完善Excel双Sheet结构 |

| V5 | 2026-05-04 | 移除假阳性硬排除,改用详情页正文内容分析做二次语义确认 |

| V6 | 2026-05-04 | 修复双层去重大Bug:单次执行 valid_seen_urls + 跨次执行Excel第9列明文URL去重 |

| V7 | 2026-05-06 | 追加优化:跨运行Excel去重(标题+招标单位)、HTML标签拆分兼容(获取开始 时间)、数字内空格规范化、正则回退年份过滤(≥2020)、询比采购有效期兜底 |

| V7.1 | 2026-05-06 | 追加排除词:可视化系统、系统升级改造、系统建设项目、热水系统、光伏、空气能、电气改造等;招标单位假阳性过滤词;统计表列宽修复(12列) |

| V7.2 | 2026-05-07 | 修复列表页标题截断误杀Bug:parse_list_page 改用负向黑名单过滤替代正向白名单,解决南方电网列表页截断标题(如"询比采购公告"→"公...")导致正确公告被丢弃的问题;Excel有效公告Sheet的J列(公告URL列)宽改为50,取消隐藏,避免行高异常 |


概述

本技能从南方电网供应链统一平台(bidding.csg.cn)全自动抓取企业管理咨询类招标公告,无需任何 API Key。

核心能力

| 能力 | 说明 |

|------|------|

| 双频道抓取 | 同时抓取 /zbgg/(招标公告)+ /fzbgg/(非招标公告/询比采购) |

| 三阶段过滤 | 粗筛关键词 → 排除非管理咨询类型 → 标题+正文语义双重确认 |

| 有效期验证 | 点进详情页检查「招标文件获取截止时间」,已过期自动排除 |

| 询比采购兜底 | 无截止时间但开始时间已过且≤7天,视为潜在有效公告 |

| 三层去重 | URL精确去重 + 标题+招标单位组合去重 + Excel历史数据跨运行去重 |

| Excel双Sheet | Sheet1「统计汇总」(10项统计+执行日期+备注) + Sheet2「有效公告明细」(含可点击详情链接) |


触发场景

用户提出以下任一需求时加载此技能:

  • "运行南网招标监测" / "执行监测任务" / "更新最新版的excel"
  • "搜索南方电网管理咨询招标" / "查一下南网有没有新的咨询类招标"
  • "配置/修改南网监测" / "调整监测关键词"
  • "查看最近的有效招标公告" / "导出招标数据"
  • 任何涉及 南方电网 + 招标/采购 + 咨询/管理 的监控或搜索需求

快速执行

1. 确认环境依赖

pip install requests openpyxl
python --version   # 要求 3.9+

2. 运行监测任务

cd <目标工作目录>
python scripts/monitor.py

首次执行会自动创建 南网管理咨询招标公告.xlsx

3. 配置定时执行(推荐)

使用 WorkBuddy 自动化功能,建议每天 17:30 自动运行:

任务名称:南网管理咨询招标日报
执行命令:cd <目标工作目录> && python scripts/monitor.py

目录结构

南网招标监测/
├── SKILL.md                        # 本文件
├── scripts/
│   └── monitor.py                  # 核心监测脚本(唯一必需文件)
└── references/
    ├── filter-guide.md              # 过滤规则详细说明
    └── config-reference.md          # CONFIG 字典完整参数参考

过滤机制详解

列表页解析过滤(V7.2 重点修复)

问题背景:南方电网列表页将公告标题截断为约60字+'...',例如"询比采购公告"可能被截断为"公..."。

原逻辑问题:正向过滤要求标题含"招标/采购/公告",截断标题三者均不满足,导致正确公告在列表解析阶段就被丢弃。

V7.2 修复:改为负向黑名单过滤:

# 排除明确的非采购类公告
_EXCLUDE_TYPES = ["中标公示", "中标结果", "成交公示", "成交结果",
                  "废标公告", "终止公告", "流标公告", "异常公告", "澄清公告"]
if any(ex in title for ex in _EXCLUDE_TYPES):
    continue
# 保留基本门槛:至少含一个与采购相关的汉字
if not any(c in title for c in ["标", "购", "公", "服", "项"]):
    continue

效果:截断标题(含"公...")→ 含"公"字 → 通过 → 进入关键词过滤


阶段1:粗筛(排除明显非咨询类)

排除条件(标题含任一词直接排除):

| 类别 | 排除词 |

|------|--------|

| 设备类 | 设备电缆母线变压器开关柜绝缘子 |

| 工程类 | 土建施工维修维保勘察设计监理造价 |

| 物资类 | 物资材料器材配件零件 |

| 技术系统类 | 可视化系统系统升级改造系统建设项目V1.0V2.0系统开发软件开发平台开发信息化建设 |

| 改造类 | 热水系统光伏改造空气能热水系统改造光伏空气能光伏项目储能项目充电桩换电站电气改造机电改造设施改造 |

通过条件:标题必须含至少一个初筛关键词(共32个管理咨询相关词)


阶段2:排除非管理咨询类型

排除以下"咨询"类型(技术/工程/专业服务而非管理咨询):

  • 技术/软件/系统类技术咨询软件咨询系统咨询平台咨询开发咨询信息化咨询数字化咨询
  • 工程/设计/造价类工程咨询设计咨询造价咨询勘察咨询监理咨询检测咨询测试咨询评估咨询
  • 其他专业咨询法律咨询税务咨询财务咨询会计咨询

阶段3:语义确认(标题+正文双重验证)

必须命中以下任一确认词组才通过:

| 类别 | 确认关键词 |

|------|-----------|

| 明确管理咨询 | 管理咨询企业管理咨询战略咨询经营咨询人力资源咨询组织变革咨询绩效咨询流程优化咨询风控咨询合规咨询治理咨询文化咨询品牌咨询营销咨询变革咨询转型咨询咨询服务顾问服务 |

| 人才/人力服务 | 人才测评人才发展领导力综合素质测评 |

| 组织发展 | 组织诊断组织效能组织架构优化 |

| 研究/调研类 | 课题研究专题研究专题报告调研报告调度规划专题规划专题管理专题研究咨询决策咨询政策研究管理创新创新研究专项研究研究项目创新项目管理创新项目虚拟电厂 |

| 战略/规划类 | 战略规划(排除电网/电力/输电/变电/基建/前期)、管理提升对标管理国企改革三项制度 |

| 薪酬/绩效类 | 薪酬体系绩效考核体系绩效管理体系 |

| 文化品牌类 | 企业文化建设品牌建设企业文化 |

| 风控合规类 | 风控体系合规体系治理机制内部控制内控体系 |

正文兜底:标题未确认时,自动提取详情页正文文本再次匹配;若正文含"咨询"+任一管理类词汇(管理/战略/组织/人力/绩效)也视为通过。


关键技术点(V7.2)

HTML标签拆分兼容

部分页面HTML将标签拆分为 获取开始...,清理后变成 获取开始 时间:。脚本已增加标签变体 ["获取开始时间", "获取开始 时间", ...],全覆盖。

数字内空格规范化

某些页面HTML将数字格式化(如月份 040 4),正则 \d{1,2}\s*月 贪婪回溯时会错误分配空格。解决方案:清理后统一将 (\d)\s+(\d)\1\2,使 0 404

回退逻辑年份过滤

当标签提取失败时,回退到全页面时间搜索。必须过滤正文中的历史参考日期(合同签订日期、文献日期等),过滤条件:t.year >= 2020

Excel列宽规范化(V7.2)

有效公告Sheet共10列(J列为公告URL列),V7.2将J列宽改为50(与详情链接列H同宽),不再隐藏,彻底解决行高异常问题。


数据源信息

| 项目 | 值 |

|------|-----|

| 平台名称 | 南方电网供应链统一服务平台 |

| 官网地址 | https://www.bidding.csg.cn |

| 招标公告列表 | https://www.bidding.csg.cn/zbgg/index.jhtml |

| 非招标公告列表 | https://www.bidding.csg.cn/fzbgg/index.jhtml |

| 详情页格式 | /zbgg/{ID}.jhtml/fzbgg/{ID}.jhtml |

| 认证方式 | 无需登录、无需 API Key |

| 访问频率 | 内置 0.5~1 秒延迟,遵守 robots.txt |


常见问题

Q1:PermissionError 报错

原因:Excel 文件被 Excel/WPS 占用

解决:关闭文件后重新运行;脚本会自动尝试写入 _备用.xlsx

Q2:结果为 0 条有效公告

可能原因:近N天确实没有符合条件的招标;关键词过于严格;网站页面结构变更(检查日志 [警告]

Q3:如何增加监测关键词

编辑 scripts/monitor.pyCONFIG["search_keywords"] 列表,详见 references/filter-guide.md

Q4:如何调整回溯天数

修改 CONFIG["lookback_days"] 默认值(当前7天)

Q5:公告标题被截断了,能抓吗?

V7.2 已修复此问题。之前的版本中,被截断的标题(如"询比采购公告"→"公...")会被列表页过滤条件误杀,V7.2改用黑名单过滤,不再依赖完整的"招标/采购/公告"词,截断标题现在能正常通过。


输出说明

Excel 文件结构

文件名:南网管理咨询招标公告.xlsx

Sheet1「统计汇总」

| 列名 | 说明 |

|------|------|

| 执行日期 | 本次运行的日期 |

| 总共抓取到公告数 | 列表页解析到的总条数 |

| 其中: 招标/采购公告数 | 含"招标"或"采购"标题的数量 |

| 通过粗筛(含搜索关键词) | 命中初筛关键词的数量 |

| 通过精筛(企业管理咨询类确认) | 通过三阶段过滤的数量 |

| 成功进入详情页检查 | 成功获取详情页HTML的数量 |

| 详情页获取失败 | 详情页HTTP请求失败数量 |

| 招标文件获取截止时间提取失败 | 时间正则匹配失败数量 |

| 正文内容分析排除 | 详情页正文判断为非管理咨询类的数量 |

| 已过期(招标文件获取截止时间已过) | 截止时间 <= 当前时间的数量 |

| 有效(未过期,已写入本表) | 最终有效并写入Sheet2的数量 |

| 备注 | 如"回溯7天" |

Sheet2「有效公告」

| 列名 | 说明 |

|------|------|

| 抓取日期 | 本次写入日期 |

| 公告标题 | 完整招标公告标题 |

| 招标单位 | 招标人名称(从详情页提取) |

| 发布日期 | 公告发布日期 |

| 文件获取开始时间 | 可下载/获取的开始时间 |

| 文件获取截止时间 | 有效性核心判断依据 |

| 投标递交截止时间 | 投标截止时间 |

| 详情链接 | 点击可跳转至官网详情页 |

| 来源 | 招标公告/非招标公告 |

| 公告URL | 用于跨次执行去重 |


日志输出示例

[2026-05-07 09:44:11] ============================================================
[2026-05-07 09:44:11] [启动] 南方电网·管理咨询招标监测任务启动
[2026-05-07 09:44:11]    数据来源  :www.bidding.csg.cn/zbgg/(招标公告)
[2026-05-07 09:44:11]               + www.bidding.csg.cn/fzbgg/(非招标公告)
[2026-05-07 09:44:11]    回溯范围  :最近 7 天发布的公告
[2026-05-07 09:44:11]    有效性规则:文件获取截止时间 > 当前时间
[2026-05-07 09:44:11]    关键词数  :32 个初筛 + 精筛
[2026-05-07 09:44:11] ============================================================

[2026-05-07 09:44:10] [统计] 本次监测完整统计:
[2026-05-07 09:44:10]   ① 总共抓取到公告数 :89 条
[2026-05-07 09:44:10]   ② 招标/采购公告数 :54 条
[2026-05-07 09:44:10]   ③ 通过粗筛(含关键词):7 条
[2026-05-07 09:44:10]   ④ 通过精筛(企业管理咨询类):7 条
[2026-05-07 09:44:10]   ⑨ 有效(未过期)  :7 条
[2026-05-07 09:44:11] [完成] 完成!新增 2 条,跳过重复 5 条

使用提示

在 WorkBuddy 中使用

首次使用前,在命令行执行一次:

pip install requests openpyxl

在 WorkBuddy 对话中直接说:

  • 「运行南网招标监测」
  • 「查看最近的管理咨询招标公告」
  • 「帮我监控南方电网的招标」

在 ClawHub 上的调用方式

本技能通过 WorkBuddy 平台触发,不需要用户手动执行脚本。只需在工作对话中描述需求,AI 会自动判断并加载本技能。

定时自动化(推荐)

推荐开启 WorkBuddy 定时任务,每天固定时间自动运行,无需手动操作:

执行频率:每天 17:30
命令:cd <工作目录> && python scripts/monitor.py

更新日志

V7.2(2026-05-07)

  • 修复:列表页标题截断导致正确公告被误杀(parse_list_page 改用负向黑名单过滤)
  • 修复:Excel 有效公告Sheet的J列宽从0改为50,取消隐藏,解决行高异常

V7.1(2026-05-06)

  • 优化:新增排除词覆盖可视化系统、热水系统、光伏、空气能等工程类项目
  • 优化:统计汇总表列宽修复为12列
  • 优化:跨运行Excel去重,防止同一条公告被多次写入

V7(2026-05-06)

  • 新增:双通道并行抓取(招标公告 + 非招标公告/询比采购)
  • 新增:HTML标签拆分兼容、数字内空格规范化、正则回退年份过滤
  • 新增:询比采购有效期兜底逻辑

V6(2026-05-04)

  • 修复:双层去重大Bug,valid_seen_urls + Excel第9列URL联合去重

V5(2026-05-04)

  • 优化:移除假阳性硬排除,改用详情页正文内容分析做二次语义确认

V1-V4(2026-05-03)

  • 初始版本搭建及多次迭代

版本历史

共 1 个版本

  • v1.0.0 Initial release 当前
    2026-05-07 11:23 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

business-ops

Salesforce

byungkyu
Salesforce CRM API 集成,支持托管 OAuth。仅在需要 Salesforce CRM 管理时安装。以最窄的 Salesforce 权限进行连接。
★ 8 📥 22,289
business-ops

Stripe

byungkyu
Stripe API 集成,支持托管 OAuth,实现对客户、订阅、发票、产品、价格和支付的可写金融集成。
★ 27 📥 26,223
business-ops

Calendar

ndcccccc
日历管理与日程安排。创建事件、管理会议,并实现多日历平台同步。
★ 7 📥 23,325