hz4th_coder
|
d9c9f0c633
|
chore: data/auto_state 为运行时爬取状态, 移出版本控制 (.gitignore)
|
2026-08-12 09:57:53 +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) → 无缓存报错 ✅
v1.3.0
|
2026-08-12 09:57:46 +08:00 |
|
hz4th_coder
|
e749d70a43
|
chore: data/exports 为运行时打包产物, 移出版本控制 (.gitignore)
|
2026-08-12 09:43:32 +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
v1.2.0
|
2026-08-12 09:41:59 +08:00 |
|
hz4th_coder
|
0482284cc0
|
反爬拦截不再重试: 判定为反爬类错误(403/429/503/Cloudflare/captcha/验证页等)直接放弃该页, 节省重试时间; 验证页持续8秒即判定反爬, 不再干等满超时(默认60s)
- engine.is_anti_crawl_error: 反爬错误信号关键词判定
- _retry_crawl: 反爬错误直接 break, entry.error 标注'反爬拦截, 跳过重试'
- _wait_page_settle/_settle_wait: 连续8秒检测到验证页即判定反爬尽早返回
- 集成测试: 反爬页 attempts=1 且 8.1s 放弃; 非反爬错误仍 attempts=retry_count+1 正常重试
v1.1.1
|
2026-08-12 09:37:23 +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 状态
- 统计/回收站/运行中数值在未读到真实数据前显示 '-'
v1.1.0
|
2026-08-12 09:28:16 +08:00 |
|
hz4th_coder
|
66ba1a7cfc
|
v1.0.14: 自动爬取支持深度/页数无限制(默认0/1000), 待爬链接持久化缓存队列(停止后续爬), 起始网址不去重, 清空缓存API
v1.0.14
|
2026-08-11 21:07:31 +08:00 |
|
hz4th_coder
|
3ad3d00ca8
|
v1.0.13: 自动爬取改为持续递归(无深度限制, 爬到无新链接为止), max_pages作安全上限(默认200)
v1.0.13
|
2026-08-11 19:45:51 +08:00 |
|
hz4th_coder
|
aa0c2f56d0
|
v1.0.12: crawl_results 合并 html_file/txt_file/meta_file 为单一 base_file(同前缀不同后缀), 含存量数据自动迁移
v1.0.12
|
2026-08-11 19:35:55 +08:00 |
|
hz4th_coder
|
bf6be47c01
|
v1.0.11: 新增历史记录回填脚本 backfill.py(幂等, 支持指定任务), 补齐数据库功能上线前的爬取记录
v1.0.11
|
2026-08-11 19:29:57 +08:00 |
|
hz4th_coder
|
abde505d32
|
v1.0.10: 修正数据库连接信息(uni_crawler/wleD6x2T, 库uni_crawler)
v1.0.10
|
2026-08-11 19:27:18 +08:00 |
|
hz4th_coder
|
9cd5b29644
|
v1.0.9: 爬取记录入库MySQL(crawler库: 任务/运行/结果三表, 内容不入库只存元数据, OK/FAIL状态标记)
v1.0.9
|
2026-08-11 19:23:35 +08:00 |
|
hz4th_coder
|
5a137514e8
|
v1.0.8: 自动爬取URL规范化去重(锚点/跟踪参数/尾部斜杠/默认端口) + 修复反爬启发式误伤小页面
v1.0.8
|
2026-08-11 17:57:59 +08:00 |
|
hz4th_coder
|
13a760fa6f
|
v1.0.7: 任务列表按模式分组展示(批量/定时/自动各占一行, 空组隐藏)
v1.0.7
|
2026-08-11 15:40:44 +08:00 |
|
hz4th_coder
|
add2cea545
|
v1.0.6: 导入网址文件增加追加/覆盖处理方式选择(默认追加)
v1.0.6
|
2026-08-11 15:33:19 +08:00 |
|
hz4th_coder
|
44852f7be7
|
v1.0.5: 网址列表支持上传txt批量导入(UTF-8/GBK自动识别/去重/行内注释清理)
v1.0.5
|
2026-08-11 15:26:17 +08:00 |
|
hz4th_coder
|
e8541a8545
|
v1.0.4: 基本搜索功能 - 按网址/标题/任务名子串匹配查找已爬内容, 支持跳转预览
v1.0.4
|
2026-08-11 15:21:31 +08:00 |
|
hz4th_coder
|
e70a3a877f
|
v1.0.3: 回收站功能 - 删除任务进回收站可恢复, 仅可手动彻底删除/清空
v1.0.3
|
2026-08-11 13:25:28 +08:00 |
|
hz4th_coder
|
1de2a0af54
|
v1.0.2: 自动爬取试爬取功能 + 每个页面/图片生成操作信息元数据(模式/时间/网址/来源链接/深度等)
v1.0.2
|
2026-08-11 13:20:14 +08:00 |
|
hz4th_coder
|
29176fc66b
|
v1.0.1: 弹窗防误关确认/布局修复/定时任务首次执行时间/日间夜间双主题/总体统计区
v1.0.1
|
2026-08-11 13:02:34 +08:00 |
|
hz4th_coder
|
dede5003a4
|
通用爬虫系统 v1.0.0: 批量/定时/自动爬取 + Web管理界面 + 图片/通知/热更新
v1.0.0
|
2026-08-11 12:44:18 +08:00 |
|