Update announcement timestamp in onu.md and enhance logger formatting to preserve original message and levelname. Remove outdated onu.md file and log files, and add type hints in main.py for better code clarity.

This commit is contained in:
2026-01-08 16:40:10 +08:00
parent 5f8ebd2da5
commit b52d9c069d
10 changed files with 497 additions and 948 deletions
Binary file not shown.
+15 -5
View File
@@ -33,15 +33,25 @@ class ColoredFormatter(logging.Formatter):
# 如果已经着色,直接返回原始格式
return super().format(record)
# 保存原始值
original_levelname = record.levelname
original_msg = record.msg
# 添加颜色
if record.levelname in self.COLORS:
# 为levelname添加颜色
colored_levelname = f"{self.COLORS[record.levelname]}{record.levelname}{self.RESET}"
# 使用原始levelname来确定消息的颜色
record.msg = f"{self.COLORS[record.levelname]}{record.msg}{self.RESET}"
record.levelname = colored_levelname
record.levelname = f"{self.COLORS[record.levelname]}{record.levelname}{self.RESET}"
# 为消息添加颜色
record.msg = f"{self.COLORS[original_levelname]}{record.msg}{self.RESET}"
return super().format(record)
# 格式化
result = super().format(record)
# 恢复原始值,避免影响其他处理器
record.levelname = original_levelname
record.msg = original_msg
return result
class Logger:
-858
View File
@@ -1,858 +0,0 @@
2026-01-07 17:16:51 - __main__ - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-07 17:16:51 - __main__ - INFO - 版本: 1.0.0
2026-01-07 17:16:51 - __main__ - INFO - 配置文件: 默认配置
2026-01-07 17:16:52 - core.reliability - INFO - 健康检查通过
2026-01-07 17:16:52 - core.database - INFO - 数据库连接池初始化成功
2026-01-07 17:16:52 - core.database - INFO - 开始初始化数据库表结构
2026-01-07 17:16:52 - core.database - INFO - 数据库表结构初始化完成
2026-01-07 17:16:52 - storage.postgresql - INFO - 存储初始化完成
2026-01-07 17:16:52 - __main__ - INFO - 应用初始化完成
2026-01-07 17:16:52 - scheduler.scheduler - INFO - 添加定时任务: daily_crawl (0 8,14,18 * * *)
2026-01-07 17:16:52 - scheduler.scheduler - INFO - 添加定时任务: data_cleanup (0 2 * * *)
2026-01-07 17:20:31 - __main__ - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-07 17:20:31 - __main__ - INFO - 版本: 1.0.0
2026-01-07 17:20:31 - __main__ - INFO - 配置文件: 默认配置
2026-01-07 17:20:31 - core.reliability - INFO - 健康检查通过
2026-01-07 17:20:31 - core.database - INFO - 数据库连接池初始化成功
2026-01-07 17:20:31 - core.database - INFO - 开始初始化数据库表结构
2026-01-07 17:20:31 - core.database - INFO - 数据库表结构初始化完成
2026-01-07 17:20:31 - storage.postgresql - INFO - 存储初始化完成
2026-01-07 17:20:31 - __main__ - INFO - 应用初始化完成
2026-01-07 17:20:31 - scheduler.scheduler - INFO - 添加定时任务: daily_crawl (0 8,14,18 * * *)
2026-01-07 17:20:31 - scheduler.scheduler - INFO - 添加定时任务: data_cleanup (0 2 * * *)
2026-01-07 17:21:02 - __main__ - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-07 17:21:02 - __main__ - INFO - 版本: 1.0.0
2026-01-07 17:21:02 - __main__ - INFO - 配置文件: 默认配置
2026-01-07 17:21:02 - core.reliability - INFO - 健康检查通过
2026-01-07 17:21:02 - core.database - INFO - 数据库连接池初始化成功
2026-01-07 17:21:02 - core.database - INFO - 开始初始化数据库表结构
2026-01-07 17:21:02 - core.database - INFO - 数据库表结构初始化完成
2026-01-07 17:21:02 - storage.postgresql - INFO - 存储初始化完成
2026-01-07 17:21:02 - __main__ - INFO - 应用初始化完成
2026-01-07 17:21:02 - scheduler.scheduler - INFO - 添加定时任务: daily_crawl (0 8,14,18 * * *)
2026-01-07 17:21:02 - scheduler.scheduler - INFO - 添加定时任务: data_cleanup (0 2 * * *)
2026-01-07 17:22:10 - __main__ - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-07 17:22:10 - __main__ - INFO - 版本: 1.0.0
2026-01-07 17:22:10 - __main__ - INFO - 配置文件: 默认配置
2026-01-07 17:22:10 - core.reliability - INFO - 健康检查通过
2026-01-07 17:22:10 - core.database - INFO - 数据库连接池初始化成功
2026-01-07 17:22:10 - core.database - INFO - 开始初始化数据库表结构
2026-01-07 17:22:10 - core.database - INFO - 数据库表结构初始化完成
2026-01-07 17:22:10 - storage.postgresql - INFO - 存储初始化完成
2026-01-07 17:22:10 - __main__ - INFO - 应用初始化完成
2026-01-07 17:22:10 - scheduler.scheduler - INFO - 添加定时任务: daily_crawl (0 8,14,18 * * *)
2026-01-07 17:22:10 - scheduler.scheduler - INFO - 添加定时任务: data_cleanup (0 2 * * *)
2026-01-07 17:22:44 - __main__ - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-07 17:22:44 - __main__ - INFO - 版本: 1.0.0
2026-01-07 17:22:44 - __main__ - INFO - 配置文件: 默认配置
2026-01-07 17:22:44 - core.reliability - INFO - 健康检查通过
2026-01-07 17:22:44 - core.database - INFO - 数据库连接池初始化成功
2026-01-07 17:22:44 - core.database - INFO - 开始初始化数据库表结构
2026-01-07 17:22:44 - core.database - INFO - 数据库表结构初始化完成
2026-01-07 17:22:44 - storage.postgresql - INFO - 存储初始化完成
2026-01-07 17:22:44 - __main__ - INFO - 应用初始化完成
2026-01-07 17:22:44 - scheduler.scheduler - INFO - 添加定时任务: daily_crawl (0 8,14,18 * * *)
2026-01-07 17:22:44 - scheduler.scheduler - INFO - 添加定时任务: data_cleanup (0 2 * * *)
2026-01-07 17:22:46 - __main__ - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-07 17:22:46 - __main__ - INFO - 版本: 1.0.0
2026-01-07 17:22:46 - __main__ - INFO - 配置文件: 默认配置
2026-01-07 17:22:47 - core.reliability - INFO - 健康检查通过
2026-01-07 17:22:47 - core.database - INFO - 数据库连接池初始化成功
2026-01-07 17:22:47 - core.database - INFO - 开始初始化数据库表结构
2026-01-07 17:22:47 - core.database - INFO - 数据库表结构初始化完成
2026-01-07 17:22:47 - storage.postgresql - INFO - 存储初始化完成
2026-01-07 17:22:47 - __main__ - INFO - 应用初始化完成
2026-01-07 17:22:47 - __main__ - INFO - 开始执行爬取任务
2026-01-07 17:22:47 - crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-07 17:22:47 - crawler.spider - ERROR - 爬取来源 采购公告 时发生未预期错误: 'Logger' object has no attribute 'log_crawl_start'
2026-01-07 17:22:47 - crawler.spider - ERROR - 爬取来源 结果公告 时发生未预期错误: 'Logger' object has no attribute 'log_crawl_start'
2026-01-07 17:22:47 - crawler.spider - ERROR - 爬取来源 合同公告 时发生未预期错误: 'Logger' object has no attribute 'log_crawl_start'
2026-01-07 17:22:47 - crawler.spider - ERROR - 爬取来源 更正公告 时发生未预期错误: 'Logger' object has no attribute 'log_crawl_start'
2026-01-07 17:22:47 - crawler.spider - ERROR - 爬取来源 招标文件预公示 时发生未预期错误: 'Logger' object has no attribute 'log_crawl_start'
2026-01-07 17:22:47 - crawler.spider - ERROR - 爬取来源 单一来源公示 时发生未预期错误: 'Logger' object has no attribute 'log_crawl_start'
2026-01-07 17:22:47 - crawler.spider - ERROR - 爬取来源 电子卖场公示 时发生未预期错误: 'Logger' object has no attribute 'log_crawl_start'
2026-01-07 17:22:47 - crawler.spider - ERROR - 爬取来源 履约验收公示 时发生未预期错误: 'Logger' object has no attribute 'log_crawl_start'
2026-01-07 17:22:47 - crawler.spider - ERROR - 爬取来源 工程类公告 时发生未预期错误: 'Logger' object has no attribute 'log_crawl_start'
2026-01-07 17:22:47 - crawler.spider - ERROR - 爬取来源 框架协议征集公告 时发生未预期错误: 'Logger' object has no attribute 'log_crawl_start'
2026-01-07 17:22:47 - crawler.spider - ERROR - 爬取来源 框架协议入围结果公告 时发生未预期错误: 'Logger' object has no attribute 'log_crawl_start'
2026-01-07 17:22:47 - crawler.spider - ERROR - 爬取来源 框架协议成交结果汇总公告 时发生未预期错误: 'Logger' object has no attribute 'log_crawl_start'
2026-01-07 17:22:47 - crawler.spider - ERROR - 爬取来源 采购意向公开 时发生未预期错误: 'Logger' object has no attribute 'log_crawl_start'
2026-01-07 17:22:47 - crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 0 个,失败 13 个,获取 0 条公告
2026-01-07 17:22:47 - __main__ - INFO - 爬取到 0 条原始公告
2026-01-07 17:22:47 - __main__ - ERROR - 爬取任务执行失败: attempted relative import beyond top-level package
2026-01-07 17:22:47 - scheduler.scheduler - INFO - 添加定时任务: daily_crawl (0 8,14,18 * * *)
2026-01-07 17:22:47 - scheduler.scheduler - INFO - 添加定时任务: data_cleanup (0 2 * * *)
2026-01-07 17:23:10 - __main__ - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-07 17:23:10 - __main__ - INFO - 版本: 1.0.0
2026-01-07 17:23:10 - __main__ - INFO - 配置文件: 默认配置
2026-01-07 17:23:10 - core.reliability - INFO - 健康检查通过
2026-01-07 17:23:10 - core.database - INFO - 数据库连接池初始化成功
2026-01-07 17:23:10 - core.database - INFO - 开始初始化数据库表结构
2026-01-07 17:23:10 - core.database - INFO - 数据库表结构初始化完成
2026-01-07 17:23:10 - storage.postgresql - INFO - 存储初始化完成
2026-01-07 17:23:10 - __main__ - INFO - 应用初始化完成
2026-01-07 17:23:10 - __main__ - INFO - 开始执行爬取任务
2026-01-07 17:23:10 - crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-07 17:23:10 - crawler.spider - ERROR - 爬取来源 采购公告 时发生未预期错误: attempted relative import beyond top-level package
2026-01-07 17:23:10 - crawler.spider - ERROR - 爬取来源 结果公告 时发生未预期错误: attempted relative import beyond top-level package
2026-01-07 17:23:10 - crawler.spider - ERROR - 爬取来源 合同公告 时发生未预期错误: attempted relative import beyond top-level package
2026-01-07 17:23:10 - crawler.spider - ERROR - 爬取来源 更正公告 时发生未预期错误: attempted relative import beyond top-level package
2026-01-07 17:23:10 - crawler.spider - ERROR - 爬取来源 招标文件预公示 时发生未预期错误: attempted relative import beyond top-level package
2026-01-07 17:23:10 - crawler.spider - ERROR - 爬取来源 单一来源公示 时发生未预期错误: attempted relative import beyond top-level package
2026-01-07 17:23:10 - crawler.spider - ERROR - 爬取来源 电子卖场公示 时发生未预期错误: attempted relative import beyond top-level package
2026-01-07 17:23:10 - crawler.spider - ERROR - 爬取来源 履约验收公示 时发生未预期错误: attempted relative import beyond top-level package
2026-01-07 17:23:10 - crawler.spider - ERROR - 爬取来源 工程类公告 时发生未预期错误: attempted relative import beyond top-level package
2026-01-07 17:23:10 - crawler.spider - ERROR - 爬取来源 框架协议征集公告 时发生未预期错误: attempted relative import beyond top-level package
2026-01-07 17:23:10 - crawler.spider - ERROR - 爬取来源 框架协议入围结果公告 时发生未预期错误: attempted relative import beyond top-level package
2026-01-07 17:23:10 - crawler.spider - ERROR - 爬取来源 框架协议成交结果汇总公告 时发生未预期错误: attempted relative import beyond top-level package
2026-01-07 17:23:10 - crawler.spider - ERROR - 爬取来源 采购意向公开 时发生未预期错误: attempted relative import beyond top-level package
2026-01-07 17:23:10 - crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 0 个,失败 13 个,获取 0 条公告
2026-01-07 17:23:10 - __main__ - INFO - 爬取到 0 条原始公告
2026-01-07 17:23:10 - __main__ - ERROR - 爬取任务执行失败: attempted relative import beyond top-level package
2026-01-07 17:23:10 - scheduler.scheduler - INFO - 添加定时任务: daily_crawl (0 8,14,18 * * *)
2026-01-07 17:23:10 - scheduler.scheduler - INFO - 添加定时任务: data_cleanup (0 2 * * *)
2026-01-07 17:23:34 - __main__ - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-07 17:23:34 - __main__ - INFO - 版本: 1.0.0
2026-01-07 17:23:34 - __main__ - INFO - 配置文件: 默认配置
2026-01-07 17:23:35 - core.reliability - INFO - 健康检查通过
2026-01-07 17:23:35 - core.database - INFO - 数据库连接池初始化成功
2026-01-07 17:23:35 - core.database - INFO - 开始初始化数据库表结构
2026-01-07 17:23:35 - core.database - INFO - 数据库表结构初始化完成
2026-01-07 17:23:35 - storage.postgresql - INFO - 存储初始化完成
2026-01-07 17:23:35 - __main__ - INFO - 应用初始化完成
2026-01-07 17:23:35 - __main__ - INFO - 开始执行爬取任务
2026-01-07 17:23:35 - crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-07 17:23:35 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-07 17:24:05 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:05 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:05 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:05 - crawler.parsers - INFO - 成功解析 97/100 条公告记录
2026-01-07 17:24:05 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 97 条公告,耗时 30.46秒
2026-01-07 17:24:05 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-07 17:24:05 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:24:05 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-07 17:24:05 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-07 17:24:06 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:24:06 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-07 17:24:06 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-07 17:24:06 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:24:06 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-07 17:24:06 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - INFO - 成功解析 78/100 条公告记录
2026-01-07 17:24:06 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 78 条公告,耗时 0.17秒
2026-01-07 17:24:06 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:06 - crawler.parsers - INFO - 成功解析 0/100 条公告记录
2026-01-07 17:24:06 - crawler.spider - INFO - 单一来源公示 第1页解析到0条公告
2026-01-07 17:24:06 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 0 条公告,耗时 0.18秒
2026-01-07 17:24:06 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-07 17:24:06 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:24:06 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.31秒
2026-01-07 17:24:06 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-07 17:24:07 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:24:07 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-07 17:24:07 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-07 17:24:07 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:24:07 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.27秒
2026-01-07 17:24:07 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - INFO - 成功解析 62/100 条公告记录
2026-01-07 17:24:07 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 62 条公告,耗时 0.20秒
2026-01-07 17:24:07 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:07 - crawler.parsers - INFO - 成功解析 13/100 条公告记录
2026-01-07 17:24:07 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 13 条公告,耗时 0.17秒
2026-01-07 17:24:07 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - ERROR - 解析单个公告记录失败: 'NoneType' object has no attribute 'strip'
2026-01-07 17:24:08 - crawler.parsers - INFO - 成功解析 0/100 条公告记录
2026-01-07 17:24:08 - crawler.spider - INFO - 框架协议成交结果汇总公告 第1页解析到0条公告
2026-01-07 17:24:08 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 0 条公告,耗时 0.29秒
2026-01-07 17:24:08 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-07 17:24:08 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:24:08 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-07 17:24:08 - crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 950 条公告
2026-01-07 17:24:08 - __main__ - INFO - 爬取到 950 条原始公告
2026-01-07 17:24:08 - __main__ - ERROR - 爬取任务执行失败: attempted relative import beyond top-level package
2026-01-07 17:24:08 - scheduler.scheduler - INFO - 添加定时任务: daily_crawl (0 8,14,18 * * *)
2026-01-07 17:24:08 - scheduler.scheduler - INFO - 添加定时任务: data_cleanup (0 2 * * *)
2026-01-07 17:24:17 - __main__ - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-07 17:24:17 - __main__ - INFO - 版本: 1.0.0
2026-01-07 17:24:17 - __main__ - INFO - 配置文件: 默认配置
2026-01-07 17:24:17 - core.reliability - INFO - 健康检查通过
2026-01-07 17:24:17 - core.database - INFO - 数据库连接池初始化成功
2026-01-07 17:24:17 - core.database - INFO - 开始初始化数据库表结构
2026-01-07 17:24:17 - core.database - INFO - 数据库表结构初始化完成
2026-01-07 17:24:17 - storage.postgresql - INFO - 存储初始化完成
2026-01-07 17:24:17 - __main__ - INFO - 应用初始化完成
2026-01-07 17:24:17 - scheduler.scheduler - INFO - 添加定时任务: daily_crawl (0 8,14,18 * * *)
2026-01-07 17:24:17 - scheduler.scheduler - INFO - 添加定时任务: data_cleanup (0 2 * * *)
2026-01-07 17:26:34 - __main__ - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-07 17:26:34 - __main__ - INFO - 版本: 1.0.0
2026-01-07 17:26:34 - __main__ - INFO - 配置文件: 默认配置
2026-01-07 17:26:34 - core.reliability - INFO - 健康检查通过
2026-01-07 17:26:34 - core.database - INFO - 数据库连接池初始化成功
2026-01-07 17:26:34 - core.database - INFO - 开始初始化数据库表结构
2026-01-07 17:26:34 - core.database - INFO - 数据库表结构初始化完成
2026-01-07 17:26:34 - storage.postgresql - INFO - 存储初始化完成
2026-01-07 17:26:34 - __main__ - INFO - 应用初始化完成
2026-01-07 17:26:34 - __main__ - INFO - 开始执行爬取任务
2026-01-07 17:26:34 - crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-07 17:26:34 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-07 17:26:34 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:34 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 0.48秒
2026-01-07 17:26:34 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-07 17:26:35 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:35 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-07 17:26:35 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-07 17:26:35 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:35 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-07 17:26:35 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-07 17:26:35 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:35 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-07 17:26:35 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-07 17:26:35 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:35 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-07 17:26:35 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-07 17:26:35 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:35 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-07 17:26:35 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-07 17:26:36 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:36 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.40秒
2026-01-07 17:26:36 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-07 17:26:36 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:36 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-07 17:26:36 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-07 17:26:36 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:36 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.27秒
2026-01-07 17:26:36 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-07 17:26:36 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:36 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-07 17:26:36 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-07 17:26:37 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:37 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-07 17:26:37 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-07 17:26:37 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:37 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-07 17:26:37 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-07 17:26:37 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:37 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-07 17:26:37 - crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-07 17:26:37 - __main__ - INFO - 爬取到 1300 条原始公告
2026-01-07 17:26:37 - __main__ - ERROR - 爬取任务执行失败: attempted relative import beyond top-level package
2026-01-07 17:26:37 - scheduler.scheduler - INFO - 添加定时任务: daily_crawl (0 8,14,18 * * *)
2026-01-07 17:26:37 - scheduler.scheduler - INFO - 添加定时任务: data_cleanup (0 2 * * *)
2026-01-07 17:26:57 - __main__ - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-07 17:26:57 - __main__ - INFO - 版本: 1.0.0
2026-01-07 17:26:57 - __main__ - INFO - 配置文件: 默认配置
2026-01-07 17:26:58 - core.reliability - INFO - 健康检查通过
2026-01-07 17:26:58 - core.database - INFO - 数据库连接池初始化成功
2026-01-07 17:26:58 - core.database - INFO - 开始初始化数据库表结构
2026-01-07 17:26:58 - core.database - INFO - 数据库表结构初始化完成
2026-01-07 17:26:58 - storage.postgresql - INFO - 存储初始化完成
2026-01-07 17:26:58 - __main__ - INFO - 应用初始化完成
2026-01-07 17:26:58 - __main__ - INFO - 开始执行爬取任务
2026-01-07 17:26:58 - crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-07 17:26:58 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-07 17:26:58 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:58 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 0.37秒
2026-01-07 17:26:58 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-07 17:26:58 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:58 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-07 17:26:58 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-07 17:26:58 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:58 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-07 17:26:58 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-07 17:26:59 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:59 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-07 17:26:59 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-07 17:26:59 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:59 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-07 17:26:59 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-07 17:26:59 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:59 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-07 17:26:59 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-07 17:26:59 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:59 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.38秒
2026-01-07 17:26:59 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-07 17:26:59 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:26:59 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-07 17:26:59 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-07 17:27:00 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:27:00 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-07 17:27:00 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-07 17:27:00 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:27:00 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-07 17:27:00 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-07 17:27:00 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:27:00 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-07 17:27:00 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-07 17:27:00 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:27:00 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-07 17:27:00 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-07 17:27:01 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:27:01 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-07 17:27:01 - crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-07 17:27:01 - __main__ - INFO - 爬取到 1300 条原始公告
2026-01-07 17:27:01 - filters.filters - INFO - 来源筛选: 1300 -> 1300 条公告
2026-01-07 17:27:01 - filters.filters - INFO - 关键词筛选: 1300 -> 18 条公告
2026-01-07 17:27:01 - filters.filters - INFO - 筛选完成: 总数 1300 -> 筛选后 18 (关键词: 1282, 日期: 0, 去重: 0, 来源: 0)
2026-01-07 17:27:01 - __main__ - INFO - 筛选后剩余 18 条公告
2026-01-07 17:27:01 - storage.postgresql - INFO - 开始保存 18 条公告到数据库
2026-01-07 17:27:01 - core.database - INFO - 批量保存公告完成,成功保存 1 条
2026-01-07 17:27:01 - storage.postgresql - INFO - 成功保存 1 条公告到数据库
2026-01-07 17:27:01 - storage.md_generator - INFO - Markdown文件已保存到: onu.md (共 18 条公告)
2026-01-07 17:27:01 - notification.wechat - INFO - 企业微信服务初始化完成
2026-01-07 17:27:01 - notification.wechat - INFO - 成功获取企业微信访问令牌
2026-01-07 17:27:01 - notification.wechat - INFO - Markdown消息发送成功
2026-01-07 17:27:01 - __main__ - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 18, 'saved': 1, 'markdown_generated': True, 'notification_sent': True, 'filter_stats': {'keyword_filtered': 1282, 'date_filtered': 0, 'duplicate_filtered': 0, 'source_filtered': 0}}
2026-01-07 17:27:01 - scheduler.scheduler - INFO - 添加定时任务: daily_crawl (0 8,14,18 * * *)
2026-01-07 17:27:01 - scheduler.scheduler - INFO - 添加定时任务: data_cleanup (0 2 * * *)
2026-01-07 17:29:05 - __main__ - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-07 17:29:05 - __main__ - INFO - 版本: 1.0.0
2026-01-07 17:29:05 - __main__ - INFO - 配置文件: 默认配置
2026-01-07 17:29:06 - core.reliability - INFO - 健康检查通过
2026-01-07 17:29:06 - core.database - INFO - 数据库连接池初始化成功
2026-01-07 17:29:06 - core.database - INFO - 开始初始化数据库表结构
2026-01-07 17:29:06 - core.database - INFO - 数据库表结构初始化完成
2026-01-07 17:29:06 - storage.postgresql - INFO - 存储初始化完成
2026-01-07 17:29:06 - __main__ - INFO - 应用初始化完成
2026-01-07 17:29:06 - scheduler.scheduler - INFO - 添加定时任务: daily_crawl (0 8,14,18 * * *)
2026-01-07 17:29:06 - scheduler.scheduler - INFO - 添加定时任务: data_cleanup (0 2 * * *)
2026-01-07 17:31:58 - __main__ - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-07 17:31:58 - __main__ - INFO - 版本: 1.0.0
2026-01-07 17:31:58 - __main__ - INFO - 配置文件: 默认配置
2026-01-07 17:31:58 - core.reliability - INFO - 健康检查通过
2026-01-07 17:31:58 - core.database - INFO - 数据库连接池初始化成功
2026-01-07 17:31:58 - core.database - INFO - 开始初始化数据库表结构
2026-01-07 17:31:58 - core.database - INFO - 数据库表结构初始化完成
2026-01-07 17:31:58 - storage.postgresql - INFO - 存储初始化完成
2026-01-07 17:31:58 - __main__ - INFO - 应用初始化完成
2026-01-07 17:34:32 - __main__ - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-07 17:34:32 - __main__ - INFO - 版本: 1.0.0
2026-01-07 17:34:32 - __main__ - INFO - 配置文件: 默认配置
2026-01-07 17:34:32 - core.reliability - INFO - 健康检查通过
2026-01-07 17:34:32 - core.database - INFO - 数据库连接池初始化成功
2026-01-07 17:34:32 - core.database - INFO - 开始初始化数据库表结构
2026-01-07 17:34:32 - core.database - INFO - 数据库表结构初始化完成
2026-01-07 17:34:32 - storage.postgresql - INFO - 存储初始化完成
2026-01-07 17:34:32 - __main__ - INFO - 应用初始化完成
2026-01-07 17:34:35 - __main__ - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-07 17:34:35 - __main__ - INFO - 版本: 1.0.0
2026-01-07 17:34:35 - __main__ - INFO - 配置文件: 默认配置
2026-01-07 17:34:35 - core.reliability - INFO - 健康检查通过
2026-01-07 17:34:35 - core.database - INFO - 数据库连接池初始化成功
2026-01-07 17:34:35 - core.database - INFO - 开始初始化数据库表结构
2026-01-07 17:34:35 - core.database - INFO - 数据库表结构初始化完成
2026-01-07 17:34:35 - storage.postgresql - INFO - 存储初始化完成
2026-01-07 17:34:35 - __main__ - INFO - 应用初始化完成
2026-01-07 17:34:35 - __main__ - INFO - 开始执行爬取任务
2026-01-07 17:34:35 - crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-07 17:34:35 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-07 17:35:05 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:35:05 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.44秒
2026-01-07 17:35:05 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-07 17:35:06 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:35:06 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.26秒
2026-01-07 17:35:06 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-07 17:35:06 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:35:06 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-07 17:35:06 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-07 17:35:06 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:35:06 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-07 17:35:06 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-07 17:35:06 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:35:06 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-07 17:35:06 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-07 17:35:07 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:35:07 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-07 17:35:07 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-07 17:35:07 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:35:07 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.34秒
2026-01-07 17:35:07 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-07 17:35:07 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:35:07 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-07 17:35:07 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-07 17:35:07 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:35:07 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-07 17:35:07 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-07 17:35:07 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:35:07 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-07 17:35:07 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-07 17:35:08 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:35:08 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-07 17:35:08 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-07 17:35:08 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:35:08 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-07 17:35:08 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-07 17:35:08 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:35:08 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-07 17:35:08 - crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-07 17:35:08 - __main__ - INFO - 爬取到 1300 条原始公告
2026-01-07 17:35:08 - filters.filters - INFO - 来源筛选: 1300 -> 1300 条公告
2026-01-07 17:35:08 - filters.filters - INFO - 去重筛选: 移除了 18 条重复公告
2026-01-07 17:35:08 - filters.filters - INFO - 关键词筛选: 1282 -> 0 条公告
2026-01-07 17:35:08 - filters.filters - INFO - 筛选完成: 总数 1300 -> 筛选后 0 (关键词: 1282, 日期: 0, 去重: 18, 来源: 0)
2026-01-07 17:35:08 - __main__ - INFO - 筛选后剩余 0 条公告
2026-01-07 17:35:08 - storage.md_generator - INFO - Markdown文件已保存到: onu.md (共 0 条公告)
2026-01-07 17:35:08 - __main__ - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': True, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 1282, 'date_filtered': 0, 'duplicate_filtered': 18, 'source_filtered': 0}}
2026-01-07 17:35:38 - __main__ - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-07 17:35:38 - __main__ - INFO - 版本: 1.0.0
2026-01-07 17:35:38 - __main__ - INFO - 配置文件: 默认配置
2026-01-07 17:35:38 - core.reliability - INFO - 健康检查通过
2026-01-07 17:35:38 - core.database - INFO - 数据库连接池初始化成功
2026-01-07 17:35:38 - core.database - INFO - 开始初始化数据库表结构
2026-01-07 17:35:38 - core.database - INFO - 数据库表结构初始化完成
2026-01-07 17:35:38 - storage.postgresql - INFO - 存储初始化完成
2026-01-07 17:35:38 - __main__ - INFO - 应用初始化完成
2026-01-07 17:35:38 - __main__ - INFO - 开始执行爬取任务
2026-01-07 17:35:38 - crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-07 17:35:38 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-07 17:36:09 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:36:09 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.49秒
2026-01-07 17:36:09 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-07 17:36:09 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:36:09 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-07 17:36:09 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-07 17:36:09 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:36:09 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-07 17:36:09 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-07 17:36:09 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:36:09 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.27秒
2026-01-07 17:36:09 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-07 17:36:10 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:36:10 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.28秒
2026-01-07 17:36:10 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-07 17:36:10 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:36:10 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-07 17:36:10 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-07 17:36:10 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:36:10 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.36秒
2026-01-07 17:36:10 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-07 17:36:11 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:36:11 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.27秒
2026-01-07 17:36:11 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-07 17:36:11 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:36:11 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-07 17:36:11 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-07 17:36:11 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:36:11 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.15秒
2026-01-07 17:36:11 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-07 17:36:11 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:36:11 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.24秒
2026-01-07 17:36:11 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-07 17:36:11 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:36:11 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-07 17:36:11 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-07 17:36:11 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-07 17:36:11 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-07 17:36:11 - crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-07 17:36:11 - __main__ - INFO - 爬取到 1300 条原始公告
2026-01-07 17:36:11 - filters.filters - INFO - 来源筛选: 1300 -> 1300 条公告
2026-01-07 17:36:12 - filters.filters - INFO - 去重筛选: 移除了 18 条重复公告
2026-01-07 17:36:12 - filters.filters - INFO - 关键词筛选: 1282 -> 0 条公告
2026-01-07 17:36:12 - filters.filters - INFO - 筛选完成: 总数 1300 -> 筛选后 0 (关键词: 1282, 日期: 0, 去重: 18, 来源: 0)
2026-01-07 17:36:12 - __main__ - INFO - 筛选后剩余 0 条公告
2026-01-07 17:36:12 - storage.md_generator - INFO - Markdown文件已保存到: onu.md (共 0 条公告)
2026-01-07 17:36:12 - __main__ - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': True, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 1282, 'date_filtered': 0, 'duplicate_filtered': 18, 'source_filtered': 0}}
2026-01-08 08:17:30 - __main__ - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-08 08:17:30 - __main__ - INFO - 版本: 1.0.0
2026-01-08 08:17:30 - __main__ - INFO - 配置文件: 默认配置
2026-01-08 08:17:30 - core.reliability - INFO - 健康检查通过
2026-01-08 08:17:30 - core.database - INFO - 数据库连接池初始化成功
2026-01-08 08:17:30 - core.database - INFO - 开始初始化数据库表结构
2026-01-08 08:17:30 - core.database - INFO - 数据库表结构初始化完成
2026-01-08 08:17:30 - storage.postgresql - INFO - 存储初始化完成
2026-01-08 08:17:30 - __main__ - INFO - 应用初始化完成
2026-01-08 08:17:30 - __main__ - INFO - 开始执行爬取任务
2026-01-08 08:17:30 - crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-08 08:17:30 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-08 08:17:31 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 08:17:31 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 0.53秒
2026-01-08 08:17:31 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-08 08:17:31 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 08:17:31 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-08 08:17:31 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-08 08:17:31 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 08:17:31 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-08 08:17:31 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-08 08:17:31 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 08:17:31 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.28秒
2026-01-08 08:17:31 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-08 08:17:31 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 08:17:31 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-08 08:17:31 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-08 08:17:32 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 08:17:32 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-08 08:17:32 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-08 08:17:32 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 08:17:32 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.34秒
2026-01-08 08:17:32 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-08 08:17:32 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 08:17:32 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.48秒
2026-01-08 08:17:32 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-08 08:17:33 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 08:17:33 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-08 08:17:33 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-08 08:17:33 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 08:17:33 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-08 08:17:33 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-08 08:17:33 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 08:17:33 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-08 08:17:33 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-08 08:17:33 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 08:17:33 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-08 08:17:33 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-08 08:17:33 - crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 08:17:33 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-08 08:17:33 - crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-08 08:17:33 - __main__ - INFO - 爬取到 1300 条原始公告
2026-01-08 08:17:33 - filters.filters - INFO - 来源筛选: 1300 -> 1300 条公告
2026-01-08 08:17:34 - filters.filters - INFO - 去重筛选: 移除了 17 条重复公告
2026-01-08 08:17:34 - filters.filters - INFO - 关键词筛选: 1283 -> 0 条公告
2026-01-08 08:17:34 - filters.filters - INFO - 筛选完成: 总数 1300 -> 筛选后 0 (关键词: 1283, 日期: 0, 去重: 17, 来源: 0)
2026-01-08 08:17:34 - __main__ - INFO - 筛选后剩余 0 条公告
2026-01-08 08:17:34 - storage.md_generator - INFO - Markdown文件已保存到: onu.md (共 0 条公告)
2026-01-08 08:17:34 - __main__ - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': True, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 1283, 'date_filtered': 0, 'duplicate_filtered': 17, 'source_filtered': 0}}
+1
View File
@@ -8,6 +8,7 @@ import sys
import argparse
import signal
from pathlib import Path
from typing import Dict, Any
# 添加项目根目录到Python路径
project_root = Path(__file__).parent
-11
View File
@@ -1,11 +0,0 @@
# 广西政府采购网公告监控
**更新时间**: 2026-01-08 08:17:34
## 无新公告
当前时间范围内没有找到符合条件的公告。
---
*由广西政府采购网公告监控系统生成*
+480 -73
View File
@@ -1,73 +1,480 @@
2026-01-08 16:09:12 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 16:09:12 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 16:09:12 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
2026-01-08 16:09:12 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
2026-01-08 16:09:12 - __main__ - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:09:12 - gx_gp_monitor.wechat.callback_server - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:09:12 - gx_gp_monitor.wechat.callback_server - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:10:09 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-08 16:10:09 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-08 16:10:09 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: nOqa7BvniBu/CTR8JQPjeuM8lpsRIIBl/3TfIsGT1wIew7TLR1...
2026-01-08 16:10:09 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: nOqa7BvniBu/CTR8JQPjeuM8lpsRIIBl/3TfIsGT1wIew7TLR1...
2026-01-08 16:10:09 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: a6c720a899fe1ad640cd70d8f9c9ea0dacb94e31
2026-01-08 16:10:09 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: a6c720a899fe1ad640cd70d8f9c9ea0dacb94e31
2026-01-08 16:10:09 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: a6c720a899fe1ad640cd70d8f9c9ea0dacb94e31
2026-01-08 16:10:09 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: a6c720a899fe1ad640cd70d8f9c9ea0dacb94e31
2026-01-08 16:10:09 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-08 16:10:09 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-08 16:10:09 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-08 16:10:09 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-08 16:10:09 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-08 16:10:09 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-08 16:10:09 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=总结..., user=WeiJueSen
2026-01-08 16:10:09 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=总结..., user=WeiJueSen
2026-01-08 16:10:09 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 总结, user: WeiJueSen
2026-01-08 16:10:09 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 总结, user: WeiJueSen
2026-01-08 16:10:09 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求今日总结
2026-01-08 16:10:09 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求今日总结
2026-01-08 16:14:16 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 16:14:16 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 16:14:16 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
2026-01-08 16:14:16 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
2026-01-08 16:14:16 - __main__ - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:14:16 - gx_gp_monitor.wechat.callback_server - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:14:16 - gx_gp_monitor.wechat.callback_server - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:14:52 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 16:14:52 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 16:14:52 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
2026-01-08 16:14:52 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
2026-01-08 16:14:52 - __main__ - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:14:52 - gx_gp_monitor.wechat.callback_server - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:14:52 - gx_gp_monitor.wechat.callback_server - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:15:10 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 16:15:10 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 16:15:10 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
2026-01-08 16:15:10 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
2026-01-08 16:15:10 - __main__ - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:15:10 - gx_gp_monitor.wechat.callback_server - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:15:10 - gx_gp_monitor.wechat.callback_server - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:15:38 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 16:15:38 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 16:15:38 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
2026-01-08 16:15:38 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
2026-01-08 16:15:38 - __main__ - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:15:38 - gx_gp_monitor.wechat.callback_server - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:15:38 - gx_gp_monitor.wechat.callback_server - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:16:50 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 16:16:50 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
2026-01-08 16:16:50 - __main__ - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:16:50 - gx_gp_monitor.wechat.callback_server - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:17:25 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 16:17:25 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
2026-01-08 16:17:25 - __main__ - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:17:25 - gx_gp_monitor.wechat.callback_server - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:17:31 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-08 16:17:31 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: 1TwnEhf35Xj4mgvAVc+fuKRQCArHVY8OlDGtmEVH1RZvQyHJ/5...
2026-01-08 16:17:31 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: abd63e4d89bed58b9a37c3b694809f478fa3519d
2026-01-08 16:17:31 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: abd63e4d89bed58b9a37c3b694809f478fa3519d
2026-01-08 16:17:31 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-08 16:17:31 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-08 16:17:31 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-08 16:17:31 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=总结..., user=WeiJueSen
2026-01-08 16:17:31 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 总结, user: WeiJueSen
2026-01-08 16:17:31 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求今日总结
2026-01-08 16:33:19 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 16:33:19 - gx_gp_monitor.wechat.callback_server - INFO - 企业微信回调服务器初始化完成
2026-01-08 16:33:19 - __main__ - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:33:19 - gx_gp_monitor.wechat.callback_server - INFO - 启动企业微信回调服务器: 0.0.0.0:18001
2026-01-08 16:33:27 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-08 16:33:27 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: FCJK1Mkf+Yj8ov744fIY0Uowsq7a+ofgJpn4YGcva6RThCsgDV...
2026-01-08 16:33:27 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 74df59483f58428951a03a3aaebee5d1c9983da9
2026-01-08 16:33:27 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 74df59483f58428951a03a3aaebee5d1c9983da9
2026-01-08 16:33:27 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-08 16:33:27 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-08 16:33:27 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-08 16:33:27 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=总结..., user=WeiJueSen
2026-01-08 16:33:27 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 总结, user: WeiJueSen
2026-01-08 16:33:27 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 请求今日总结
2026-01-08 16:33:53 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-08 16:33:53 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: 4hpcxTcK2XMp5aVcbJ1N9OpCR1wTkuJq/6BKdED4C9DV0SwMln...
2026-01-08 16:33:53 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: 848b1a275b7df84bafaae65963ff5536215dcc72
2026-01-08 16:33:53 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: 848b1a275b7df84bafaae65963ff5536215dcc72
2026-01-08 16:33:53 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-08 16:33:53 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-08 16:33:53 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-08 16:33:53 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=爬取 大化..., user=WeiJueSen
2026-01-08 16:33:53 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 爬取 大化, user: WeiJueSen
2026-01-08 16:33:53 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 手动爬取关键词: ['大化']
2026-01-08 16:33:53 - gx_gp_monitor.wechat.message_handler - ERROR - 手动爬取处理异常: name 'Dict' is not defined
2026-01-08 16:35:14 - gx_gp_monitor.main - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-08 16:35:14 - gx_gp_monitor.main - INFO - 版本: 1.0.0
2026-01-08 16:35:14 - gx_gp_monitor.main - INFO - 配置文件: 默认配置
2026-01-08 16:35:14 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-08 16:35:14 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
2026-01-08 16:35:14 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-08 16:35:14 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-08 16:35:14 - gx_gp_monitor.storage.postgresql - INFO - 存储初始化完成
2026-01-08 16:35:14 - gx_gp_monitor.main - INFO - 应用初始化完成
2026-01-08 16:35:14 - gx_gp_monitor.main - INFO - 开始执行爬取任务
2026-01-08 16:35:14 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-08 16:35:14 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-08 16:35:15 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:15 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 0.44秒
2026-01-08 16:35:15 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-08 16:35:15 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:15 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-08 16:35:15 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-08 16:35:15 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:15 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-08 16:35:15 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-08 16:35:15 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:15 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-08 16:35:15 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-08 16:35:15 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:15 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.24秒
2026-01-08 16:35:15 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-08 16:35:16 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:16 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.15秒
2026-01-08 16:35:16 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-08 16:35:16 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:16 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.33秒
2026-01-08 16:35:16 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-08 16:35:16 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:16 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-08 16:35:16 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-08 16:35:16 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:16 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-08 16:35:16 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-08 16:35:16 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:16 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-08 16:35:16 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-08 16:35:16 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:16 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-08 16:35:16 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-08 16:35:17 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:17 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.15秒
2026-01-08 16:35:17 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-08 16:35:17 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:17 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-08 16:35:17 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-08 16:35:17 - gx_gp_monitor.main - INFO - 爬取到 1300 条原始公告
2026-01-08 16:35:17 - gx_gp_monitor.storage.postgresql - INFO - 开始按来源保存 1300 条公告,每个来源最多保留 100 条
2026-01-08 16:35:17 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:17 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement1 保存了 0 条公告
2026-01-08 16:35:17 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:17 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement2 保存了 0 条公告
2026-01-08 16:35:17 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:17 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement3 保存了 0 条公告
2026-01-08 16:35:17 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:17 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement4 保存了 0 条公告
2026-01-08 16:35:17 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:17 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement5 保存了 0 条公告
2026-01-08 16:35:17 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:17 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement6 保存了 0 条公告
2026-01-08 16:35:17 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 1 条
2026-01-08 16:35:17 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement7 保存了 1 条公告
2026-01-08 16:35:17 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 1 条
2026-01-08 16:35:17 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement10 保存了 1 条公告
2026-01-08 16:35:17 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:17 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement11 保存了 0 条公告
2026-01-08 16:35:17 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:17 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement20 保存了 0 条公告
2026-01-08 16:35:17 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:17 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement21 保存了 0 条公告
2026-01-08 16:35:17 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:17 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement23 保存了 0 条公告
2026-01-08 16:35:17 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:17 - gx_gp_monitor.storage.postgresql - INFO - 来源 61-266648 保存了 0 条公告
2026-01-08 16:35:17 - gx_gp_monitor.storage.postgresql - INFO - 按来源保存完成,总计保存 2 条公告
2026-01-08 16:35:17 - gx_gp_monitor.main - INFO - 保存所有公告完成:共保存 2 条,按来源统计: {'ZcyAnnouncement1': 0, 'ZcyAnnouncement2': 0, 'ZcyAnnouncement3': 0, 'ZcyAnnouncement4': 0, 'ZcyAnnouncement5': 0, 'ZcyAnnouncement6': 0, 'ZcyAnnouncement7': 1, 'ZcyAnnouncement10': 1, 'ZcyAnnouncement11': 0, 'ZcyAnnouncement20': 0, 'ZcyAnnouncement21': 0, 'ZcyAnnouncement23': 0, '61-266648': 0}
2026-01-08 16:35:17 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 1300 -> 1300 条公告
2026-01-08 16:35:17 - gx_gp_monitor.filters.filters - INFO - 去重筛选: 移除了 1300 条重复公告
2026-01-08 16:35:17 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 0 -> 0 条公告
2026-01-08 16:35:17 - gx_gp_monitor.filters.filters - INFO - 筛选完成: 总数 1300 -> 筛选后 0 (关键词: 0, 日期: 0, 去重: 1300, 来源: 0)
2026-01-08 16:35:17 - gx_gp_monitor.main - INFO - 筛选后剩余 0 条公告
2026-01-08 16:35:17 - gx_gp_monitor.storage.md_generator - INFO - Markdown文件已保存到: onu.md (共 0 条公告)
2026-01-08 16:35:17 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': True, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 0, 'date_filtered': 0, 'duplicate_filtered': 1300, 'source_filtered': 0}}
2026-01-08 16:35:24 - gx_gp_monitor.wechat.message_handler - INFO - 企业微信消息处理器初始化完成
2026-01-08 16:35:24 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 爬取 大化, user: WeiJueSen
2026-01-08 16:35:24 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 手动爬取关键词: ['大化']
2026-01-08 16:35:24 - gx_gp_monitor.main - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-08 16:35:24 - gx_gp_monitor.main - INFO - 版本: 1.0.0
2026-01-08 16:35:24 - gx_gp_monitor.main - INFO - 配置文件: 默认配置
2026-01-08 16:35:24 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-08 16:35:24 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
2026-01-08 16:35:24 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-08 16:35:24 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-08 16:35:24 - gx_gp_monitor.storage.postgresql - INFO - 存储初始化完成
2026-01-08 16:35:24 - gx_gp_monitor.main - INFO - 应用初始化完成
2026-01-08 16:35:24 - gx_gp_monitor.main - INFO - 开始执行爬取任务
2026-01-08 16:35:24 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-08 16:35:24 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-08 16:35:54 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:54 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.43秒
2026-01-08 16:35:54 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-08 16:35:54 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:54 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-08 16:35:54 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-08 16:35:55 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:55 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-08 16:35:55 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-08 16:35:55 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:55 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-08 16:35:55 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-08 16:35:55 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:55 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-08 16:35:55 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-08 16:35:55 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:55 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-08 16:35:55 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-08 16:35:55 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:55 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.37秒
2026-01-08 16:35:55 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-08 16:35:56 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:56 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-08 16:35:56 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-08 16:35:56 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:56 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.26秒
2026-01-08 16:35:56 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-08 16:35:56 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:56 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-08 16:35:56 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-08 16:35:56 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:56 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-08 16:35:56 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-08 16:35:57 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:57 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-08 16:35:57 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-08 16:35:57 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:35:57 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-08 16:35:57 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-08 16:35:57 - gx_gp_monitor.main - INFO - 爬取到 1300 条原始公告
2026-01-08 16:35:57 - gx_gp_monitor.storage.postgresql - INFO - 开始按来源保存 1300 条公告,每个来源最多保留 100 条
2026-01-08 16:35:57 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:57 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement1 保存了 0 条公告
2026-01-08 16:35:57 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:57 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement2 保存了 0 条公告
2026-01-08 16:35:57 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:57 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement3 保存了 0 条公告
2026-01-08 16:35:57 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:57 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement4 保存了 0 条公告
2026-01-08 16:35:57 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:57 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement5 保存了 0 条公告
2026-01-08 16:35:57 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:57 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement6 保存了 0 条公告
2026-01-08 16:35:57 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:57 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement7 保存了 0 条公告
2026-01-08 16:35:57 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:57 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement10 保存了 0 条公告
2026-01-08 16:35:57 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:57 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement11 保存了 0 条公告
2026-01-08 16:35:57 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:57 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement20 保存了 0 条公告
2026-01-08 16:35:57 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:57 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement21 保存了 0 条公告
2026-01-08 16:35:57 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:57 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement23 保存了 0 条公告
2026-01-08 16:35:57 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:35:57 - gx_gp_monitor.storage.postgresql - INFO - 来源 61-266648 保存了 0 条公告
2026-01-08 16:35:57 - gx_gp_monitor.storage.postgresql - INFO - 按来源保存完成,总计保存 0 条公告
2026-01-08 16:35:57 - gx_gp_monitor.main - INFO - 保存所有公告完成:共保存 0 条,按来源统计: {'ZcyAnnouncement1': 0, 'ZcyAnnouncement2': 0, 'ZcyAnnouncement3': 0, 'ZcyAnnouncement4': 0, 'ZcyAnnouncement5': 0, 'ZcyAnnouncement6': 0, 'ZcyAnnouncement7': 0, 'ZcyAnnouncement10': 0, 'ZcyAnnouncement11': 0, 'ZcyAnnouncement20': 0, 'ZcyAnnouncement21': 0, 'ZcyAnnouncement23': 0, '61-266648': 0}
2026-01-08 16:35:57 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 1300 -> 1300 条公告
2026-01-08 16:35:57 - gx_gp_monitor.filters.filters - INFO - 去重筛选: 移除了 1300 条重复公告
2026-01-08 16:35:57 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 0 -> 0 条公告
2026-01-08 16:35:57 - gx_gp_monitor.filters.filters - INFO - 筛选完成: 总数 1300 -> 筛选后 0 (关键词: 0, 日期: 0, 去重: 1300, 来源: 0)
2026-01-08 16:35:57 - gx_gp_monitor.main - INFO - 筛选后剩余 0 条公告
2026-01-08 16:35:57 - gx_gp_monitor.storage.md_generator - INFO - Markdown文件已保存到: onu.md (共 0 条公告)
2026-01-08 16:35:57 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': True, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 0, 'date_filtered': 0, 'duplicate_filtered': 1300, 'source_filtered': 0}}
2026-01-08 16:36:47 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-08 16:36:47 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: 6BU7wXI1yPTIP0sbi7j8LLHOE9kKMQn/++bDuNxi+HFzDBZsLa...
2026-01-08 16:36:47 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: b55817172d1bd98b6c848b0845c19d77a21ac1e7
2026-01-08 16:36:47 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: b55817172d1bd98b6c848b0845c19d77a21ac1e7
2026-01-08 16:36:47 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-08 16:36:47 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-08 16:36:47 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-08 16:36:47 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=爬取 马山..., user=WeiJueSen
2026-01-08 16:36:47 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 爬取 马山, user: WeiJueSen
2026-01-08 16:36:47 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 手动爬取关键词: ['马山']
2026-01-08 16:36:47 - gx_gp_monitor.main - INFO - === 广西政府采购网公告监控系统启动 ===
2026-01-08 16:36:47 - gx_gp_monitor.main - INFO - 版本: 1.0.0
2026-01-08 16:36:47 - gx_gp_monitor.main - INFO - 配置文件: 默认配置
2026-01-08 16:36:47 - gx_gp_monitor.core.reliability - INFO - 健康检查通过
2026-01-08 16:36:48 - gx_gp_monitor.core.database - INFO - 数据库连接池初始化成功
2026-01-08 16:36:48 - gx_gp_monitor.core.database - INFO - 开始初始化数据库表结构
2026-01-08 16:36:48 - gx_gp_monitor.core.database - INFO - 数据库表结构初始化完成
2026-01-08 16:36:48 - gx_gp_monitor.storage.postgresql - INFO - 存储初始化完成
2026-01-08 16:36:48 - gx_gp_monitor.main - INFO - 应用初始化完成
2026-01-08 16:36:48 - gx_gp_monitor.main - INFO - 开始执行爬取任务
2026-01-08 16:36:48 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-08 16:36:48 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-08 16:36:52 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-08 16:36:52 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: 6BU7wXI1yPTIP0sbi7j8LLHOE9kKMQn/++bDuNxi+HFzDBZsLa...
2026-01-08 16:36:52 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: b55817172d1bd98b6c848b0845c19d77a21ac1e7
2026-01-08 16:36:52 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: b55817172d1bd98b6c848b0845c19d77a21ac1e7
2026-01-08 16:36:52 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-08 16:36:52 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-08 16:36:52 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-08 16:36:52 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=爬取 马山..., user=WeiJueSen
2026-01-08 16:36:52 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 爬取 马山, user: WeiJueSen
2026-01-08 16:36:52 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 手动爬取关键词: ['马山']
2026-01-08 16:36:52 - gx_gp_monitor.main - INFO - 开始执行爬取任务
2026-01-08 16:36:52 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-08 16:36:52 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-08 16:36:57 - gx_gp_monitor.wechat.callback_server - ERROR - ✅ XML解析成功,提取的encrypt长度: 472
2026-01-08 16:36:57 - gx_gp_monitor.wechat.callback_server - ERROR - 提取的encrypt前50字符: 6BU7wXI1yPTIP0sbi7j8LLHOE9kKMQn/++bDuNxi+HFzDBZsLa...
2026-01-08 16:36:57 - gx_gp_monitor.wechat.callback_server - ERROR - 计算的签名: b55817172d1bd98b6c848b0845c19d77a21ac1e7
2026-01-08 16:36:57 - gx_gp_monitor.wechat.callback_server - ERROR - 接收的签名: b55817172d1bd98b6c848b0845c19d77a21ac1e7
2026-01-08 16:36:57 - gx_gp_monitor.wechat.callback_server - ERROR - 签名匹配: True
2026-01-08 16:36:57 - gx_gp_monitor.wechat.callback_server - ERROR - 尝试使用默认token计算签名...
2026-01-08 16:36:57 - gx_gp_monitor.wechat.callback_server - INFO - 收到企业微信消息: 类型=text
2026-01-08 16:36:57 - gx_gp_monitor.wechat.callback_server - INFO - 处理文本消息: content=爬取 马山..., user=WeiJueSen
2026-01-08 16:36:57 - gx_gp_monitor.wechat.message_handler - INFO - 处理文本消息: 爬取 马山, user: WeiJueSen
2026-01-08 16:36:57 - gx_gp_monitor.wechat.message_handler - INFO - 用户 WeiJueSen 手动爬取关键词: ['马山']
2026-01-08 16:36:57 - gx_gp_monitor.main - INFO - 开始执行爬取任务
2026-01-08 16:36:57 - gx_gp_monitor.crawler.spider - INFO - 开始爬取 13 个公告来源
2026-01-08 16:36:57 - gx_gp_monitor - INFO - 开始爬取 采购公告
2026-01-08 16:37:18 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:18 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.49秒
2026-01-08 16:37:18 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-08 16:37:18 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:18 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-08 16:37:18 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-08 16:37:18 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:18 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-08 16:37:18 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-08 16:37:19 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:19 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-08 16:37:19 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-08 16:37:19 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:19 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.16秒
2026-01-08 16:37:19 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-08 16:37:19 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:19 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-08 16:37:19 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-08 16:37:19 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:19 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.29秒
2026-01-08 16:37:19 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-08 16:37:20 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:20 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.27秒
2026-01-08 16:37:20 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-08 16:37:20 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:20 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-08 16:37:20 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-08 16:37:20 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:20 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-08 16:37:20 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-08 16:37:20 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:20 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.27秒
2026-01-08 16:37:20 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-08 16:37:20 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:20 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-08 16:37:20 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-08 16:37:21 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:21 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-08 16:37:21 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-08 16:37:21 - gx_gp_monitor.main - INFO - 爬取到 1300 条原始公告
2026-01-08 16:37:21 - gx_gp_monitor.storage.postgresql - INFO - 开始按来源保存 1300 条公告,每个来源最多保留 100 条
2026-01-08 16:37:21 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:21 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement1 保存了 0 条公告
2026-01-08 16:37:21 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:21 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement2 保存了 0 条公告
2026-01-08 16:37:21 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:21 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement3 保存了 0 条公告
2026-01-08 16:37:21 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:21 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement4 保存了 0 条公告
2026-01-08 16:37:21 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:21 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement5 保存了 0 条公告
2026-01-08 16:37:21 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:21 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement6 保存了 0 条公告
2026-01-08 16:37:21 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:21 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement7 保存了 0 条公告
2026-01-08 16:37:21 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:21 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement10 保存了 0 条公告
2026-01-08 16:37:21 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:21 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement11 保存了 0 条公告
2026-01-08 16:37:21 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:21 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement20 保存了 0 条公告
2026-01-08 16:37:21 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:21 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement21 保存了 0 条公告
2026-01-08 16:37:21 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:21 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement23 保存了 0 条公告
2026-01-08 16:37:21 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:21 - gx_gp_monitor.storage.postgresql - INFO - 来源 61-266648 保存了 0 条公告
2026-01-08 16:37:21 - gx_gp_monitor.storage.postgresql - INFO - 按来源保存完成,总计保存 0 条公告
2026-01-08 16:37:21 - gx_gp_monitor.main - INFO - 保存所有公告完成:共保存 0 条,按来源统计: {'ZcyAnnouncement1': 0, 'ZcyAnnouncement2': 0, 'ZcyAnnouncement3': 0, 'ZcyAnnouncement4': 0, 'ZcyAnnouncement5': 0, 'ZcyAnnouncement6': 0, 'ZcyAnnouncement7': 0, 'ZcyAnnouncement10': 0, 'ZcyAnnouncement11': 0, 'ZcyAnnouncement20': 0, 'ZcyAnnouncement21': 0, 'ZcyAnnouncement23': 0, '61-266648': 0}
2026-01-08 16:37:21 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 1300 -> 1300 条公告
2026-01-08 16:37:21 - gx_gp_monitor.filters.filters - INFO - 去重筛选: 移除了 1300 条重复公告
2026-01-08 16:37:21 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 0 -> 0 条公告
2026-01-08 16:37:21 - gx_gp_monitor.filters.filters - INFO - 筛选完成: 总数 1300 -> 筛选后 0 (关键词: 0, 日期: 0, 去重: 1300, 来源: 0)
2026-01-08 16:37:21 - gx_gp_monitor.main - INFO - 筛选后剩余 0 条公告
2026-01-08 16:37:21 - gx_gp_monitor.storage.md_generator - INFO - Markdown文件已保存到: onu.md (共 0 条公告)
2026-01-08 16:37:21 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': True, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 0, 'date_filtered': 0, 'duplicate_filtered': 1300, 'source_filtered': 0}}
2026-01-08 16:37:23 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:23 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.44秒
2026-01-08 16:37:23 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-08 16:37:23 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:23 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.28秒
2026-01-08 16:37:23 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-08 16:37:23 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:23 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.26秒
2026-01-08 16:37:23 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-08 16:37:24 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:24 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.29秒
2026-01-08 16:37:24 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-08 16:37:24 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:24 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-08 16:37:24 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-08 16:37:24 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:24 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.18秒
2026-01-08 16:37:24 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-08 16:37:24 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:24 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.39秒
2026-01-08 16:37:24 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-08 16:37:25 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:25 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.20秒
2026-01-08 16:37:25 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-08 16:37:25 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:25 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-08 16:37:25 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-08 16:37:25 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:25 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.22秒
2026-01-08 16:37:25 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-08 16:37:25 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:25 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-08 16:37:25 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-08 16:37:25 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:25 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.24秒
2026-01-08 16:37:25 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-08 16:37:26 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:26 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-08 16:37:26 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-08 16:37:26 - gx_gp_monitor.main - INFO - 爬取到 1300 条原始公告
2026-01-08 16:37:26 - gx_gp_monitor.storage.postgresql - INFO - 开始按来源保存 1300 条公告,每个来源最多保留 100 条
2026-01-08 16:37:26 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:26 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement1 保存了 0 条公告
2026-01-08 16:37:26 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:26 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement2 保存了 0 条公告
2026-01-08 16:37:26 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:26 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement3 保存了 0 条公告
2026-01-08 16:37:26 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:26 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement4 保存了 0 条公告
2026-01-08 16:37:26 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:26 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement5 保存了 0 条公告
2026-01-08 16:37:26 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:26 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement6 保存了 0 条公告
2026-01-08 16:37:26 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:26 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement7 保存了 0 条公告
2026-01-08 16:37:26 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:26 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement10 保存了 0 条公告
2026-01-08 16:37:26 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:26 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement11 保存了 0 条公告
2026-01-08 16:37:26 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:26 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement20 保存了 0 条公告
2026-01-08 16:37:26 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:26 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement21 保存了 0 条公告
2026-01-08 16:37:26 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:26 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement23 保存了 0 条公告
2026-01-08 16:37:26 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:26 - gx_gp_monitor.storage.postgresql - INFO - 来源 61-266648 保存了 0 条公告
2026-01-08 16:37:26 - gx_gp_monitor.storage.postgresql - INFO - 按来源保存完成,总计保存 0 条公告
2026-01-08 16:37:26 - gx_gp_monitor.main - INFO - 保存所有公告完成:共保存 0 条,按来源统计: {'ZcyAnnouncement1': 0, 'ZcyAnnouncement2': 0, 'ZcyAnnouncement3': 0, 'ZcyAnnouncement4': 0, 'ZcyAnnouncement5': 0, 'ZcyAnnouncement6': 0, 'ZcyAnnouncement7': 0, 'ZcyAnnouncement10': 0, 'ZcyAnnouncement11': 0, 'ZcyAnnouncement20': 0, 'ZcyAnnouncement21': 0, 'ZcyAnnouncement23': 0, '61-266648': 0}
2026-01-08 16:37:26 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 1300 -> 1300 条公告
2026-01-08 16:37:26 - gx_gp_monitor.filters.filters - INFO - 去重筛选: 移除了 1300 条重复公告
2026-01-08 16:37:26 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 0 -> 0 条公告
2026-01-08 16:37:26 - gx_gp_monitor.filters.filters - INFO - 筛选完成: 总数 1300 -> 筛选后 0 (关键词: 0, 日期: 0, 去重: 1300, 来源: 0)
2026-01-08 16:37:26 - gx_gp_monitor.main - INFO - 筛选后剩余 0 条公告
2026-01-08 16:37:26 - gx_gp_monitor.storage.md_generator - INFO - Markdown文件已保存到: onu.md (共 0 条公告)
2026-01-08 16:37:26 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': True, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 0, 'date_filtered': 0, 'duplicate_filtered': 1300, 'source_filtered': 0}}
2026-01-08 16:37:28 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:28 - gx_gp_monitor - INFO - 采购公告 爬取完成,共获取 100 条公告,耗时 30.49秒
2026-01-08 16:37:28 - gx_gp_monitor - INFO - 开始爬取 结果公告
2026-01-08 16:37:28 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:28 - gx_gp_monitor - INFO - 结果公告 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-08 16:37:28 - gx_gp_monitor - INFO - 开始爬取 合同公告
2026-01-08 16:37:28 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:28 - gx_gp_monitor - INFO - 合同公告 爬取完成,共获取 100 条公告,耗时 0.33秒
2026-01-08 16:37:28 - gx_gp_monitor - INFO - 开始爬取 更正公告
2026-01-08 16:37:29 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:29 - gx_gp_monitor - INFO - 更正公告 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-08 16:37:29 - gx_gp_monitor - INFO - 开始爬取 招标文件预公示
2026-01-08 16:37:29 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:29 - gx_gp_monitor - INFO - 招标文件预公示 爬取完成,共获取 100 条公告,耗时 0.19秒
2026-01-08 16:37:29 - gx_gp_monitor - INFO - 开始爬取 单一来源公示
2026-01-08 16:37:29 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:29 - gx_gp_monitor - INFO - 单一来源公示 爬取完成,共获取 100 条公告,耗时 0.25秒
2026-01-08 16:37:29 - gx_gp_monitor - INFO - 开始爬取 电子卖场公示
2026-01-08 16:37:30 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:30 - gx_gp_monitor - INFO - 电子卖场公示 爬取完成,共获取 100 条公告,耗时 0.43秒
2026-01-08 16:37:30 - gx_gp_monitor - INFO - 开始爬取 履约验收公示
2026-01-08 16:37:30 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:30 - gx_gp_monitor - INFO - 履约验收公示 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-08 16:37:30 - gx_gp_monitor - INFO - 开始爬取 工程类公告
2026-01-08 16:37:30 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:30 - gx_gp_monitor - INFO - 工程类公告 爬取完成,共获取 100 条公告,耗时 0.23秒
2026-01-08 16:37:30 - gx_gp_monitor - INFO - 开始爬取 框架协议征集公告
2026-01-08 16:37:30 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:30 - gx_gp_monitor - INFO - 框架协议征集公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-08 16:37:30 - gx_gp_monitor - INFO - 开始爬取 框架协议入围结果公告
2026-01-08 16:37:30 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:30 - gx_gp_monitor - INFO - 框架协议入围结果公告 爬取完成,共获取 100 条公告,耗时 0.21秒
2026-01-08 16:37:30 - gx_gp_monitor - INFO - 开始爬取 框架协议成交结果汇总公告
2026-01-08 16:37:31 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:31 - gx_gp_monitor - INFO - 框架协议成交结果汇总公告 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-08 16:37:31 - gx_gp_monitor - INFO - 开始爬取 采购意向公开
2026-01-08 16:37:31 - gx_gp_monitor.crawler.parsers - INFO - 成功解析 100/100 条公告记录
2026-01-08 16:37:31 - gx_gp_monitor - INFO - 采购意向公开 爬取完成,共获取 100 条公告,耗时 0.17秒
2026-01-08 16:37:31 - gx_gp_monitor.crawler.spider - INFO - 爬取完成: 共处理 13 个来源,成功 13 个,失败 0 个,获取 1300 条公告
2026-01-08 16:37:31 - gx_gp_monitor.main - INFO - 爬取到 1300 条原始公告
2026-01-08 16:37:31 - gx_gp_monitor.storage.postgresql - INFO - 开始按来源保存 1300 条公告,每个来源最多保留 100 条
2026-01-08 16:37:31 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:31 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement1 保存了 0 条公告
2026-01-08 16:37:31 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:31 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement2 保存了 0 条公告
2026-01-08 16:37:31 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:31 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement3 保存了 0 条公告
2026-01-08 16:37:31 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:31 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement4 保存了 0 条公告
2026-01-08 16:37:31 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:31 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement5 保存了 0 条公告
2026-01-08 16:37:31 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:31 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement6 保存了 0 条公告
2026-01-08 16:37:31 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:31 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement7 保存了 0 条公告
2026-01-08 16:37:31 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:31 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement10 保存了 0 条公告
2026-01-08 16:37:31 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:31 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement11 保存了 0 条公告
2026-01-08 16:37:31 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:31 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement20 保存了 0 条公告
2026-01-08 16:37:31 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:31 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement21 保存了 0 条公告
2026-01-08 16:37:31 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:31 - gx_gp_monitor.storage.postgresql - INFO - 来源 ZcyAnnouncement23 保存了 0 条公告
2026-01-08 16:37:31 - gx_gp_monitor.core.database - INFO - 批量保存公告完成,成功保存 0 条
2026-01-08 16:37:31 - gx_gp_monitor.storage.postgresql - INFO - 来源 61-266648 保存了 0 条公告
2026-01-08 16:37:31 - gx_gp_monitor.storage.postgresql - INFO - 按来源保存完成,总计保存 0 条公告
2026-01-08 16:37:31 - gx_gp_monitor.main - INFO - 保存所有公告完成:共保存 0 条,按来源统计: {'ZcyAnnouncement1': 0, 'ZcyAnnouncement2': 0, 'ZcyAnnouncement3': 0, 'ZcyAnnouncement4': 0, 'ZcyAnnouncement5': 0, 'ZcyAnnouncement6': 0, 'ZcyAnnouncement7': 0, 'ZcyAnnouncement10': 0, 'ZcyAnnouncement11': 0, 'ZcyAnnouncement20': 0, 'ZcyAnnouncement21': 0, 'ZcyAnnouncement23': 0, '61-266648': 0}
2026-01-08 16:37:31 - gx_gp_monitor.filters.filters - INFO - 来源筛选: 1300 -> 1300 条公告
2026-01-08 16:37:31 - gx_gp_monitor.filters.filters - INFO - 去重筛选: 移除了 1300 条重复公告
2026-01-08 16:37:31 - gx_gp_monitor.filters.filters - INFO - 关键词筛选: 0 -> 0 条公告
2026-01-08 16:37:31 - gx_gp_monitor.filters.filters - INFO - 筛选完成: 总数 1300 -> 筛选后 0 (关键词: 0, 日期: 0, 去重: 1300, 来源: 0)
2026-01-08 16:37:31 - gx_gp_monitor.main - INFO - 筛选后剩余 0 条公告
2026-01-08 16:37:31 - gx_gp_monitor.storage.md_generator - INFO - Markdown文件已保存到: onu.md (共 0 条公告)
2026-01-08 16:37:31 - gx_gp_monitor.main - INFO - 爬取任务完成: {'success': True, 'total_crawled': 1300, 'filtered': 0, 'saved': 0, 'markdown_generated': True, 'notification_sent': False, 'filter_stats': {'keyword_filtered': 0, 'date_filtered': 0, 'duplicate_filtered': 1300, 'source_filtered': 0}}
+1 -1
View File
@@ -1,6 +1,6 @@
# 广西政府采购网公告监控
**更新时间**: 2026-01-08 09:29:42
**更新时间**: 2026-01-08 16:37:31
## 无新公告