hz4th_coder
|
57d45d901b
|
v1.4.2 屏蔽排除规则自动清理队列: 设置 exclude 后待爬队列同步移除命中 URL
- engine.url_excluded: 与 filter_links 同逻辑的排除判定辅助函数
- 保存 auto 配置时, 若 exclude 规则变化且任务未运行, 自动从 pending 队列
剔除命中规则的 URL (visited 已爬标记保留)
- 排除输入框文案优化
- cnblogs-auto 已配置 exclude=[MyComments.html, OtherPosts.html, /comments], 清理 546 条用户中心页
|
2026-08-14 10:44:31 +08:00 |
|
hz4th_coder
|
950f5af5ea
|
v1.4.1 新增「重爬失败页」: 一键把失败页面重新加入待爬队列
- 后端 POST /api/tasks/<tid>/retry-failed: 从指定 run 提取 FAIL 页面,
解除 visited 标记并注入待爬队列头部(去重, 已排队的不重复注入)
- 前端详情页 run 面板新增「🔄 重爬失败页 (N)」按钮(auto 模式且有失败页时显示),
点击后自动注入并触发继续爬取
|
2026-08-14 10:36:00 +08:00 |
|
hz4th_coder
|
ec053266a7
|
v1.4.0 修复反爬误判+浏览器崩溃空转, 详情页多元翻页
- 修复反爬误判: is_challenge_page 仅匹配 title 关键词 + html 前 20KB 强特征标记,
不再全文匹配 captcha/challenge 等词 (博客园正文提 captcha 的页面被误杀)
- 修复浏览器崩溃后空转: 检测 Target page/context/browser closed,
自动重启浏览器并重试当前 URL (不消耗重试配额, 单页最多重建3次);
页面读取连续异常3次快速失败; 新增 browser_max_pages 配置定期重启浏览器防内存膨胀
- 详情页多元翻页: 首页/末页/页码列表(带省略号)/页码跳转输入框(回车/GO)/每页条数选择(50/100/200/500)
|
2026-08-14 10:28:25 +08:00 |
|
hz4th_coder
|
909e8e01b5
|
新增继续爬取: auto 任务达 max_pages 上限停止后, 有待爬缓存链接时可在详情页一键继续
- POST /api/tasks/<tid>/continue: 校验 auto 模式 + pending 非空, skip_seed 启动
- engine skip_seed: 跳过起始网址直接从缓存队列消费 (不重爬 seed, 不重复入 visited)
- 关键修复: max_pages 原为累计上限(visited>=max_pages), 已达标任务无法继续; 继续模式改为按本次新增页数重新计算上限, 可反复继续直到缓存耗尽
- 详情弹窗 auto 任务且有缓存时显示 [⏩ 继续爬取(缓存 N 条)] 按钮
- 端到端测试: max_pages=2 链路 执行(seed+p1,缓存4) → 继续(p2,p3,缓存2) → 继续(p4,p5,缓存0) → 无缓存报错 ✅
|
2026-08-12 09:57:46 +08:00 |
|
hz4th_coder
|
56f30f78c4
|
新增打包导出: 任务输出目录打包为 zip, 支持网页下载或发送到指定邮箱(默认 wlq@tphai.com)
- GET /api/export?task_id= 打包输出目录为 zip 并下载 (zip 内按任务名建顶层目录)
- POST /api/export/email 打包后通过 send_email.py 发送附件到邮箱, 邮箱可指定, 默认 wlq@tphai.com
- 详情弹窗新增 [📦 打包下载] [📧 发邮箱] 按钮, 打包中按钮禁用防重复点击
- notify.py 重构: send_attachment(subject, body, to, attach) 通用附件发送
- 打包文件存 data/exports/, 自动清理只保留最近 10 个
- 实测: cnblogs-auto 66MB/1606文件 -> 11.9MB zip 仅1.5s; 邮件发送成功 2.2s
|
2026-08-12 09:41:59 +08:00 |
|
hz4th_coder
|
796e667533
|
性能优化: 任务列表瘦身+详情分页+auto状态独立存储+磁盘统计缓存+db异步同步; 统计数值未读取时显示-
- /api/tasks 响应 1.57MB -> 12KB (latest_run 只带摘要, 一次读 runs.json)
- /api/stats 磁盘占用加 30s 缓存, 去除重复全量读
- 详情接口分页返回 results (默认100条/页), 前端表格分页+页码跳转
- auto 任务 pending/visited 队列迁移到 data/auto_state/ 独立文件 (tasks.json 1.6MB -> 14KB)
- MySQL 同步改后台线程异步执行 (db.sync_run_async/upsert_task_async), 不再阻塞爬虫和 API
- 启动时自动迁移存量 auto 状态
- 统计/回收站/运行中数值在未读到真实数据前显示 '-'
|
2026-08-12 09:28:16 +08:00 |
|
hz4th_coder
|
66ba1a7cfc
|
v1.0.14: 自动爬取支持深度/页数无限制(默认0/1000), 待爬链接持久化缓存队列(停止后续爬), 起始网址不去重, 清空缓存API
|
2026-08-11 21:07:31 +08:00 |
|
hz4th_coder
|
3ad3d00ca8
|
v1.0.13: 自动爬取改为持续递归(无深度限制, 爬到无新链接为止), max_pages作安全上限(默认200)
|
2026-08-11 19:45:51 +08:00 |
|
hz4th_coder
|
13a760fa6f
|
v1.0.7: 任务列表按模式分组展示(批量/定时/自动各占一行, 空组隐藏)
|
2026-08-11 15:40:44 +08:00 |
|
hz4th_coder
|
add2cea545
|
v1.0.6: 导入网址文件增加追加/覆盖处理方式选择(默认追加)
|
2026-08-11 15:33:19 +08:00 |
|
hz4th_coder
|
44852f7be7
|
v1.0.5: 网址列表支持上传txt批量导入(UTF-8/GBK自动识别/去重/行内注释清理)
|
2026-08-11 15:26:17 +08:00 |
|
hz4th_coder
|
e8541a8545
|
v1.0.4: 基本搜索功能 - 按网址/标题/任务名子串匹配查找已爬内容, 支持跳转预览
|
2026-08-11 15:21:31 +08:00 |
|
hz4th_coder
|
e70a3a877f
|
v1.0.3: 回收站功能 - 删除任务进回收站可恢复, 仅可手动彻底删除/清空
|
2026-08-11 13:25:28 +08:00 |
|
hz4th_coder
|
1de2a0af54
|
v1.0.2: 自动爬取试爬取功能 + 每个页面/图片生成操作信息元数据(模式/时间/网址/来源链接/深度等)
|
2026-08-11 13:20:14 +08:00 |
|
hz4th_coder
|
29176fc66b
|
v1.0.1: 弹窗防误关确认/布局修复/定时任务首次执行时间/日间夜间双主题/总体统计区
|
2026-08-11 13:02:34 +08:00 |
|
hz4th_coder
|
dede5003a4
|
通用爬虫系统 v1.0.0: 批量/定时/自动爬取 + Web管理界面 + 图片/通知/热更新
|
2026-08-11 12:44:18 +08:00 |
|