Commit Graph

23 Commits

Author SHA1 Message Date
dmy
2b21ddb990 fix: 初始化时不显示日期范围变化提示 2026-01-12 19:02:46 +08:00
dmy
3d269ce9d1 feat: 重构AI推荐功能并优化爬虫基础URL
重构前端AI推荐组件,移除本地过滤逻辑,改为从后端获取日期范围内的数据
新增AI服务模块,包含Prompt和推荐逻辑
为投标服务添加按日期范围查询接口
统一各爬虫服务的baseURL格式
2026-01-12 18:59:17 +08:00
dmy
61520e9ebf feat: 添加 AI 推荐功能
新增 AI 推荐模块,包括前端界面和后端服务
添加 OpenAI API 密钥配置
实现工程数据分析和推荐功能
2026-01-12 18:36:08 +08:00
dmy
3647b9a2e5 feat: 添加高优先级投标折叠功能并优化链接样式
为高优先级投标表格添加折叠/展开功能,当数据为空时自动折叠
优化链接样式,统一设置无下划线及悬停颜色
2026-01-12 15:52:58 +08:00
dmy
f2630ed01c feat: 添加更新数据源脚本 2026-01-12 15:29:45 +08:00
dmy
b1435523e8 feat: 为爬虫测试添加代理支持并通过环境变量配置
添加dotenv依赖,创建jest配置文件和setup文件
修改所有爬虫测试文件以支持通过环境变量配置代理
将jest配置从package.json移动到独立文件
2026-01-12 15:19:54 +08:00
dmy
f1ec37143c feat: 添加中海油招标平台爬虫支持 2026-01-12 15:06:31 +08:00
dmy
090e4121ce feat: 添加国投集团电子采购平台爬虫并更新其他平台名称 2026-01-12 14:53:38 +08:00
dmy
4f37b0fb61 refactor: 重构前端代码,拆分组件并优化README文档 2026-01-12 14:37:18 +08:00
dmy
8b2f328981 feat: 调整界面文字和列宽
将标题改为中文"投标信息一览"
调整Source列的宽度
2026-01-12 13:21:49 +08:00
dmy
1b28a3462a feat: 全面优化爬虫系统和数据处理能力
- 增强数据重试机制:对数据为0的爬虫自动重试,提高数据完整性
- 优化前端筛选逻辑:改进日期筛选,只限制开始时间,更灵活的数据查看
- 新增最近数据接口:添加 /api/bids/recent 获取30天内最新招标数据
- 改进统计展示:实时显示筛选结果数量,优化用户体验
- 完善日志系统:确保日志目录自动创建,避免启动错误
- 增强独立脚本:使用自定义logger,完善错误处理和程序关闭
- 优化主程序:集成自定义日志服务,统一日志格式
- 扩展npm脚本:新增 web 命令用于构建前端
- 改进大唐爬虫:延长等待时间到60秒,提高页面加载成功率
- 优化数据筛选:今日招标改为使用独立接口,提升性能
2026-01-12 12:28:37 +08:00
dmy
3e6456e120 feat: 全面升级系统日志和反爬虫功能
- 新增专业日志系统:集成 Winston 日志框架,支持按天轮转和分级存储
- 增强反爬虫能力:集成 puppeteer-extra-plugin-stealth 插件,提升隐蔽性
- 新增独立爬虫脚本:可通过 npm run crawl 命令单独执行爬虫任务
- 优化前端日期筛选:添加日期范围选择器,支持3天/7天快速筛选
- 改进爬虫统计功能:详细记录每个平台的成功/失败情况和执行时间
- 移除默认关键词初始化:避免重复创建预设关键词
- 扩展环境配置:新增 LOG_LEVEL 日志级别配置选项
- 增强.gitignore:添加日志目录、构建产物等忽略规则
- 升级执行时间限制:将最大执行时间从1小时延长至3小时
- 完善错误处理:更好的异常捕获和日志记录机制
2026-01-12 10:46:10 +08:00
dmy
66f535ed0c feat: 增强前端界面功能和用户体验
- 新增爬虫状态检测:前端实时检测爬虫运行状态,防止重复点击
- 添加来源筛选功能:可按采购平台来源筛选招标信息
- 实现关键字过滤:支持多选关键字过滤今日招标,结果保存到localStorage
- 添加分页功能:招标列表支持分页显示,可调整每页数量
- 优化关键字管理:将表格形式改为标签云形式,更直观易用
- 改进UI布局:优化标题栏布局,添加筛选控件,提升用户体验
- 调整定时任务:将爬虫频率从每30分钟改为每天午夜执行,减少服务器压力
- 增强交互体验:添加加载状态、空状态处理、标签颜色区分等细节优化
2026-01-12 02:24:19 +08:00
dmy
a1badea135 feat: 增强爬虫系统功能和性能管理
- 新增爬虫状态接口:GET /api/crawler/status 可实时查看爬虫运行状态
- 防止重复爬取:添加 isCrawling 标志位,避免同时运行多个爬虫任务
- 增强爬虫服务:集成所有9个爬虫平台到 BidCrawlerService
- 添加执行时间限制:设置最大执行时间为1小时,防止任务无限运行
- 新增来源统计功能:GET /api/bids/sources 可查看所有招标来源平台
- 优化错误处理:完善爬虫完成后的时间统计和超时警告
- 改进控制器逻辑:更好的异常处理和状态管理
- 支持的平台包括:华能、大唐、华润、三峡、中核、中广核、电能e招采、大连能源、北京电力等9大采购平台
2026-01-12 02:09:48 +08:00
dmy
b839779ec6 feat: 新增中广核电子商务平台爬虫
- 新增 CgnpcCrawler 爬虫类,支持中广核电子商务平台招标信息抓取
- 目标平台:https://ecp.cgnpc.com.cn,专注于核电行业采购招标
- 使用正则表达式提取招标公告,支持标题、URL和发布日期解析
- 添加完整的人类行为模拟功能(鼠标移动、滚动)降低检测风险
- 支持分页抓取,最多抓取5页数据,使用中广核特有的 btn-prev 按钮翻页
- 添加完整的单元测试文件,确保爬虫功能正常
- 统一的错误处理机制,单个爬虫失败不影响整体任务执行
2026-01-12 01:09:30 +08:00
dmy
3454d9d07f feat: 新增电能e招采平台爬虫
- 新增 EspicCrawler 爬虫类,支持电能e招采平台招标信息抓取
- 目标平台:https://ebid.espic.com.cn,专注于电力行业电子招投标
- 智能 URL 生成:使用 getUrl() 方法动态生成带时间戳的分页链接
- 增强反 WAF 功能:等待人机识别检测通过,避免被防火墙拦截
- 多重选择器策略:使用多种选择器组合查找下一页按钮,提高翻页成功率
- 使用正则表达式提取招标信息,支持标题、URL和发布日期解析
- 添加完整的人类行为模拟功能(鼠标移动、滚动)降低检测风险
- 支持分页抓取,最多抓取5页数据
- 添加完整的单元测试文件,确保爬虫功能正常
- 统一的错误处理机制,单个爬虫失败不影响整体任务执行
2026-01-12 00:01:38 +08:00
dmy
bf17587bd3 feat: 新增中核集团电子采购平台爬虫
- 新增 CnncecpCrawler 爬虫类,支持中核集团电子采购平台招标信息抓取
- 目标平台:https://www.cnncecp.com,专注于核工业领域采购招标
- 使用正则表达式提取招标公告,支持标题、URL和发布日期解析
- 添加完整的人类行为模拟功能(鼠标移动、滚动)降低检测风险
- 支持分页抓取,最多抓取5页数据,使用 index_ 模式进行翻页
- 添加完整的单元测试文件,确保爬虫功能正常
- 统一的错误处理机制,单个爬虫失败不影响整体任务执行
2026-01-11 23:32:09 +08:00
dmy
74a4aec363 feat: 新增北京电力交易平台爬虫
- 新增 PowerbeijingCrawler 爬虫类,支持北京电力交易平台招标信息抓取
- 目标平台:https://www.powerbeijing-ec.com,专注于北京地区电力交易招标信息
- 使用正则表达式提取招标公告,支持标题、URL和发布日期解析
- 添加完整的人类行为模拟功能(鼠标移动、滚动)降低检测风险
- 支持分页抓取,最多抓取5页数据,使用 turnPage 函数进行翻页
- 添加完整的单元测试文件,确保爬虫功能正常
- 统一的错误处理机制,单个爬虫失败不影响整体任务执行
2026-01-11 23:21:31 +08:00
dmy
aa9b33bd94 feat: 新增中国三峡集团电子商务平台爬虫
- 新增 EpsCrawler 爬虫类,支持中国三峡集团电子商务平台招标信息抓取
- 集成到 BidCrawlerService 中,现在支持5个平台并行抓取
- 使用正则表达式提取招标信息,支持标题、URL和发布日期解析
- 添加完整的人类行为模拟功能(鼠标移动、滚动)降低检测风险
- 支持分页抓取,最多抓取5页数据
- 添加完整的单元测试文件,确保爬虫功能正常
- 统一的错误处理机制,单个爬虫失败不影响整体任务执行
2026-01-11 22:48:10 +08:00
dmy
6d626a0946 feat: 新增多个电力集团采购平台爬虫
- 新增4个电力集团采购平台爬虫:
  * 中国大唐集团电子商务平台 (CdtCrawler)
  * 大连能源采购平台 (CeicCrawler)
  * 华润守正采购交易平台 (SzecpCrawler)
- 更新 BidCrawlerService,集成新的爬虫到爬虫任务中
- 添加环境变量示例文件 .env.example,包含数据库和代理配置
- 优化 .env 文件,添加代理配置示例
- 为所有新爬虫添加完整的单元测试文件
- 使用与现有爬虫相同的反检测策略(人类行为模拟)
- 支持分页抓取,每个平台最多抓取5页数据
- 统一的错误处理机制,单个爬虫失败不影响其他爬虫执行
2026-01-11 22:34:38 +08:00
dmy
044fd770f7 feat: 增强华能电商平台爬虫的反检测能力和数据结构
- 在 BidItem 实体中添加 priority 和 unit 字段,扩展数据结构
- 将爬虫浏览器模式改为非无头模式(headless: false)便于调试
- 为 ChngCrawler 添加人类行为模拟功能:
  * 模拟鼠标随机移动,增加移动步数和停顿时间
  * 模拟人类滚动行为,包括随机滚动距离和停顿
  * 添加 navigator 属性伪装,包括语言、插件等
- 在关键节点添加截图功能(bing.png, newPage.png, huaneng.png)用于调试
- 优化反检测策略,降低被目标网站识别为机器人的风险
2026-01-11 21:35:24 +08:00
dmy
07a7301968 feat: 添加华能集团电子商务平台爬虫功能
- 新增 ChngCrawler 爬虫类,支持华能集团电子商务平台招标信息抓取
- 更新 BidCrawlerService,集成 ChngCrawler 到爬虫任务中
- 添加代理配置支持,从环境变量读取代理设置
- 优化爬虫逻辑,支持多个爬虫并行执行
- 新增 ChngCrawler 的单元测试文件
- 改进错误处理,单个爬虫失败不影响其他爬虫执行
- 更新 chdtp_target.ts,添加代理认证支持
2026-01-11 18:20:43 +08:00
dmy
d9105797f4 第一次提交 2026-01-09 23:18:52 +08:00