Files
let-deals-radar/.gitignore
T
gungun88 ca102a3398 feat: VPS 优惠聚合雷达(LET + LowEndBox + 回帖库存判定)
数据源
- LowEndTalk Offers RSS(含完整正文)
- LowEndBox RSS(按 category + 正文规格密度过滤非优惠文章)
- 跨源去重(厂商+价格+配置指纹;数据不足时拒绝合并)

抽取内核(确定性正则,无 LLM)
- 规格/价格/折扣/活动性质/地点/CPU 型号
- 拍平 HTML 表格重建(按列序位置推断,解决裸容量无语义问题)
- 库存判定:商家回帖表态 > 帖文关键词 > 用户提及(弱证据)
- 语境校验:疑问句/否定句/非库存对象/促销资格四类误判防线
- 末页优先抓取回帖(实测商家表态集中在回帖流 75%-100% 位置)

工程化
- 包结构分工明确,配置支持环境变量(可绑自有域名)
- 124 个 pytest 用例;BERO 十周年帖为黄金样本
- GitHub Actions 每 6 小时抓取 + 定时提交 + 可选 rsync 部署
- 两种部署方案(Actions+自有服务器 / 纯服务器 cron),均含
  「记录数为 0 则拒绝发布」安全网
- legacy/ 保留重构前脚本,供回归比对(19 字段零回归差异)

零运行时依赖(仅 Python 标准库);产物为纯静态文件。
2026-10-16 06:10:15 +08:00

41 lines
584 B
Plaintext

# Python
__pycache__/
*.py[cod]
*$py.class
.Python
.venv/
venv/
env/
ENV/
# 测试与覆盖率
.pytest_cache/
.coverage
htmlcov/
.tox/
# 抓取缓存(实时快照,可重建;测试用的是 tests/fixtures/ 下的精简夹具)
data/feed_*.xml
data/feed.xml
data/replies/
# 环境中转文件
data/*.new.*
*.tmp
# 密钥与环境
.env
*.key
deploy_key
# 编辑器与系统
.vscode/
.idea/
*.swp
*.swo
.DS_Store
Thumbs.db
# 注意:site/ 与 data/deals.json **需要提交** ——
# GitHub Actions 会把更新结果提交回仓库,用于 Pages 发布与版本追溯。