矿业权公告:一个每天自动跑的行业信息聚合系统

为什么做它

矿业权出让公告分散在自然资源部、三十多个省级自然资源厅和各地公共资源交易平台,格式各异、更新不定。过去要判断"最近有哪些值得看的项目",只能每天挨个网站翻,一两个小时就没了。

这套系统的目标很朴素:每天早上看一份已经筛好的日报,5 分钟内决定今天关注哪几个项目。

它是怎么工作的

整套流程跑在本机 Windows 上,由计划任务每天触发:

  1. 采集:37 个自动采集源,抓取列表页和详情页;
  2. 结构化:从公告正文里抽取矿种、面积、起始价、保证金、报名截止等字段,并做分级与评分;
  3. 生成:输出 Excel 台账(多 sheet)、手机端 HTML 日报、推送文案;
  4. 发布:生成纯静态网站 dist/,通过 FTP 自动上传到站点的 /kyq/ 目录;
  5. 推送(可选):企业微信 / 钉钉机器人 / Server酱 / 邮件,配置 webhook 即开启。

网站部分:矿业权公告

矿业权公告

这个静态页是项目的"展示层":

  • 概览统计:今日新增、公告数量、重点推荐、7 天内截止、成交结果;
  • 截止提醒:未来 7 天要报名/交保证金的项目,按截止日排序;
  • 公告列表:关键词搜索、矿种/省份联动筛选、级别筛选、排序、分页;
  • 详情弹窗:结构化字段 + 公告正文 + 官网原文链接;
  • 矿种 / 省份分布:点击胶囊直接筛选;
  • 导出 CSV、字号切换、手机端卡片式布局。

2026 年 11 月做了一次改版:视觉与站点统一(浅色极简、白色圆角卡片、同款导航与页脚)。

技术实现

  • Python 3,标准库为主,openpyxl 可选(只用于 Excel 日报);
  • SQLite 存公告库(约 9MB),字段化存储,支持增量去重;
  • 适配层配置化:每个源在 config/sources.json 里描述列表地址、选择器、分页、日期正则、详情规则,新增源主要改配置;
  • 纯静态导出:index.html 内联数据(约 500KB),配 data.json、status.html、每日归档;无服务端依赖,放在任何静态空间都可以;
  • FTP 发布:每次覆盖 6 个文件,支持 --dry-run 预检。

部署现状与后续

  • 目前是本地采集 + 自动上传:Windows 计划任务 + deploy.auto_publish=true;
  • 如果想彻底脱离本地电脑,有两个可行方向:轻量应用服务器(cron 跑 Python,采集后 FTP 推送)或函数计算 FC(定时触发,免运维)。

局限

  • 政务网站改版、反爬会导致个别源失败,status.html 里能看到每个源的健康度;
  • 公告正文抽取可能不完整,报名条件、截止时间、费用等关键信息务必回官网核对;
  • 静态页每天更新,不是实时行情,适合"每天早上看一眼"的节奏。

结语

它的价值不在技术多复杂,而在于把"每天翻三十个网站"变成"看一份已经整理好的日报"——省下来的时间,拿去做判断。

在线地址:https://www.anquanyuan.cc/kyq/

发表评论

评论 暂无评论

文章目录