Skip to content

Latest commit

 

History

History
316 lines (235 loc) · 15.1 KB

File metadata and controls

316 lines (235 loc) · 15.1 KB

soft_page_check — 软件页面快检

从仓库根目录 Lastb_soft_version.txt「最终选择指南」之前)提取页面 URL,抓取网页 <title> 并与历史快照比对,快速发现「可能有新版本」的介绍页。

不更新 software/ 也完全可用——本工具只做健康检查,不负责下载。破解 / 423down / 网盘类资源仍需手工下载后再替换目录并执行 generate_and_push.bat

月度更新入口:双击 monthly_sop.bat,按步骤引导完成「快检 → 看报告 → 决定是否更新 → 发布」。


月度更新流程(SOP)

一句话

每月跑一遍 SOP → 报告里 A 类无变化就收工;有变化再手工下包 → 替换 software/generate_and_push.bat → 客户端 sync_software

流程图

flowchart TD
  Start([双击 monthly_sop.bat]) --> S1[步骤1: A 类快检 ~15s]
  S1 --> S2[步骤2: 打开 reports/index.html]
  S2 --> Q{A 类标题有变化?}
  Q -->|否| EndOK([结束 · 本月不更新])
  Q -->|是| S3[步骤3: 报告页打开链接人工确认]
  S3 --> Q2{确定要更新?}
  Q2 -->|否| EndOK
  Q2 -->|是| DL[GitHub: gh-release-fetch / 其他: 手工下载]
  DL --> REP[替换 software/ 对应目录]
  REP --> S4[步骤4 可选: 改 Lastb_soft_version.txt]
  S4 --> S5[步骤5: generate_and_push.bat]
  S5 --> Sync[各端 sync_software.bat]
Loading

分步说明

步骤 做什么 工具 / 路径 可跳过?
1 快检 抓 A 类 ~42 页标题,与上月快照比对 monthly_sop.batmonthly_check.bat 否(或看旧报告)
2 看报告 关注「A 类 · 同步软件」的标题变化 reports/index.html
3 决策 变化 = 0 → 直接结束;有变化 → 点开链接确认 报告页「打开 / 依次打开变化页」 无变化必跳过后续
3 下载 GitHub 项跑 gh-release-fetch;423down/破解 浏览器手工下 software\gh-release-fetch\run_update.bat 仅「要更新」时
3 替换 解压覆盖到 software\子目录\ 资源管理器 仅「要更新」时
4 文档 改装机区说明、可选 append digest 一行 Lastb_soft_version.txt 可选
5 发布 生成 list.txt 并 push 根目录 generate_and_push.bat 未改 software 则跳过
6 同步 各机器拉新版本 sync_software.bat 仅发布后

首次使用(快检)

每个监控范围(A / 全量 / 423down)都要 连续跑两次 才会出现「标题变化」:

范围 第一次 第二次
A 类 建立基线,无 changed_tier_a_urls.txt 有比对结果
全量 118 页 建立基线,无 changed_pages_urls.txt 有比对结果
423down digest 同上 同上
7xiazai 列表 同上 同上

控制台出现 「首次运行该范围:已保存标题基线」 时属于正常,不是报错。再跑一遍即可。

若第二次显示 「无标题变化」 → 说明页面标题与上次一致,不必更新 software/

季度补充(非每月必须)

操作 频率
monthly_check_full.bat — A + 装机 + 423down + 7xiazai 约每季度(连跑两次)

SOP 主菜单说明

monthly_sop.bat 提供:

选项 用途
1 完整月度 SOP 带 5 步引导(推荐)
2 仅 A 类快检 只要报告、不要问答
3 仅发布 已手工改好 software/,直接 push
4 季度 423down digest 356 条全量比对
5 7xiazai 列表 首页 ~ /page/65/ 列表页快检
6 打开报告页 刷新并打开 index.html

日常快检(简版)

平时不做事(software/ 照用)        │
        ▼ 偶尔想瞄一眼(约 15 秒,A 类 42 页)
  monthly_check.bat
        │
        ├─ 无变化 → 结束,不用更
        │
        └─ 有变化 → open_report.bat(HTML 报告,可筛选 / 一键打开)
                    或 open_changed_pages.bat
                    │
                    ▼ 确认真要更新
              手工下载 → 替换 software/ → generate_and_push.bat
场景 操作 频率
月度更新(推荐) monthly_sop.bat → 选 1 约每月
默认快检 monthly_check.bat 想查时 / 约每月
只打开有变化的页 open_changed_pages.bat 快检后有变化时
全量快检(A+装机+423down+7xiazai) monthly_check_full.bat 季度(连跑两次)
423down digest 全量(可选) monthly_check_423down.bat 季度 / 想找新资源时
7xiazai 软件页(可选) monthly_check_7xiazai.bat 季度 / 扫 7xiazai 软件标题
打开 7xiazai 变化页 open_changed_7xiazai.bat 7xiazai 快检后有变化时
打开 423down 变化页 open_changed_423down.bat digest 快检后有变化时
打开 HTML 报告页 open_report.bat 随时查看 / 快检后自动打开
全量打开(兜底) open_soft_pages.bat 很少需要

监控分级

级别 含义 数量(约) 来源
A 类 config.jsonsoftware_dirs 同步目录相关的页面 42 watch_tier_a_urls.txt
B 类 装机区其余参考页(输入法教程、工具对比等) 76 soft_pages_urls.txt 其余
423down digest digest 区 423down 去重(可选) 356 423down_digest_urls.txt
7xiazai 软件页 从列表页解析的软件详情页(可选) ~650+ 7xiazai_list_urls.txt
  • 月度默认monthly_check.bat 只跑 A 类(42 页)。
  • 季度全量monthly_check_full.bat 一次刷新报告页 四个分区(A / 装机 / 423down / 7xiazai)。

A 类匹配规则在 build_watchlist.pyA_PATTERNS 中维护;修改 config.json 或关键词后运行 build_watchlist.bat 刷新。


批处理一览

文件 说明
monthly_sop.bat 月度更新主入口:菜单 + 5 步 SOP 引导
monthly_check.bat A 类快检:提取 URL → 抓标题 → 比对 → 打开报告
open_changed_pages.bat 打开有变化的页面;优先 changed_tier_a_urls.txt,参数 all 则用全量变化列表
monthly_check_full.bat 季度全量:A 类 42 + 装机区 118 + 423down + 7xiazai(约 600+ 页);说明见 full_check_intro.txt
monthly_check_423down.bat 可选:digest 区 423down 去重全量 + 比对(约 356 条)
monthly_check_7xiazai.bat 可选:从列表页发现 ~650+ 软件详情页 + 比对标题
open_changed_7xiazai.bat 打开 changed_7xiazai_urls.txt
extract_7xiazai_pages.bat 生成 7xiazai_list_urls.txt(可改 7xiazai_config.json
open_changed_423down.bat 打开 changed_423down_urls.txt 中的变化页
extract_423down_digest.bat 仅从 digest 区重新提取 423down 链接
open_report.bat 生成并打开 reports/index.html 报告页
open_soft_pages.bat 打开装机区全部页面 URL(不含直链下载)
extract_pages.bat 仅从 Lastb_soft_version.txt 重新提取 URL
build_watchlist.bat 根据 config.json 生成 A/B 分级清单
fetch_titles.bat 仅执行 A 类抓标题 + 比对(不刷新 URL 列表)

Python 脚本

文件 说明
extract_pages.py 从清单文档装机区提取 URL;过滤直链
extract_423down_digest.py 从 digest 区提取 423down 链接并去重
extract_7xiazai_pages.py 生成 7xiazai 列表分页 URL
build_watchlist.py 将页面 URL 按 software_dirs 关键词分为 A/B,输出 watchlist.json
fetch_titles.py 并发抓取标题并比对历史
report_html.py 生成 HTML 报告页 reports/index.html

fetch_titles.py 每次运行结束会自动刷新报告页。

fetch_titles.py 常用参数:

python fetch_titles.py --scope a --compare          REM A 类 + 比对(默认推荐)
python fetch_titles.py --scope all --compare        REM 装机区全量 + 比对
python fetch_titles.py --scope 423down --compare    REM digest 423down 全量 + 比对
python fetch_titles.py --scope 7xiazai --compare    REM 7xiazai 列表 + 比对

依赖:Python 3.6+,标准库即可,无需 pip install


目录与产出文件

soft_page_check/
├── README.md                    ← 本说明
├── monthly_sop.bat              ← 月度更新 SOP(推荐入口)
├── monthly_check.bat            ← 仅 A 类快检
├── soft_pages_urls.txt          ← 全部页面 URL(118,自动生成)
├── all_urls.txt                 ← 含直链在内的全部 URL(138,仅供参考)
├── watch_tier_a_urls.txt        ← A 类监控 URL(自动生成)
├── 423down_digest_urls.txt      ← digest 区 423down 去重(356,可选)
├── 7xiazai_list_urls.txt        ← 7xiazai 列表页(65+,可选)
├── 7xiazai_config.json          ← max_page 等配置
├── watchlist.json               ← 完整分级索引(URL ↔ 软件 ↔ 域名)
├── url_meta.json                ← URL 元数据简表
├── changed_tier_a_urls.txt      ← 比对后有变化的 A 类 URL
├── changed_pages_urls.txt       ← 装机区全量比对的变化 URL
├── changed_423down_urls.txt     ← 423down digest 比对的变化 URL
├── changed_7xiazai_urls.txt     ← 7xiazai 比对的变化 URL
├── history/
│   ├── titles_latest_A.json     ← A 类最新标题快照
│   ├── titles_latest_ALL.json   ← 装机区全量最新快照
│   ├── titles_latest_423DOWN.json
│   ├── titles_latest_7XIAZAI.json
│   └── titles_*_YYYY-MM-DD_*.json
└── reports/
    ├── index.html               ← **HTML 报告页(推荐查看方式)**
    ├── last_diff_a.json         ← 最近一次 A 类比对结果
    ├── last_diff_all.json
    ├── last_diff_423down.json
    └── report_*.txt             ← 纯文本报告(备用)

首次使用(快检)

若不用 SOP、只跑快检:

  1. 双击 monthly_check.bat — 建立 A 类标题基线(首次无历史可比)。
  2. 再双击 monthly_check.bat — 第二次起才会输出「标题变化」与报告页变化列表。
  3. 若有变化 → 打开 reports/index.html → 人工确认后决定是否更新 software/

(使用 monthly_sop.bat 选 [1] 可一次走完上述逻辑与后续发布引导。) 季度全量:连续跑两次 monthly_check_full.bat,报告页 A / 装机 / 423down / 7xiazai 四个分区都会有快照与变化比对。


423down digest 可选监控

  • 来源Lastb_soft_version.txt最终选择指南 之后# [日期] digest 块。
  • 数量:去重后约 356 条。
  • 入口monthly_check_423down.bat(连跑两次才有比对)。

7xiazai 软件页可选监控

  • 来源:从 https://www.7xiazai.com/ ~ /page/65/ 列表页解析软件详情页链接,并合并 txt 内其它 7xiazai.com 软件页。
  • 监控对象:各软件页 <title>(如 Bandicam v8.3.0 … – 小兵下载站),不监控 /page/N/ 列表页标题。
  • 数量:约 650+ 条(见 7xiazai_list_urls.txt)。
  • 改页数:编辑 7xiazai_config.jsonmax_page,再跑 extract_7xiazai_pages.bat
  • 入口monthly_check_7xiazai.bat(连跑两次才有比对)。
  • 说明:具体下载仍手工;列表变更后需重新 extract_7xiazai_pages.bat 刷新 URL 清单。

URL 提取范围

  • 包含Lastb_soft_version.txt 第 1 行起,至 =================== / 最终选择指南(针对你外贸/跨境场景) 之前
  • 排除:该行之后的 VPN/Clash、Chrome 插件、423down digest、破解社区等。
  • 排除直链:安装包、GitHub releases/download/gh-proxy.com 镜像、Python /ftp/ 等(只保留介绍页 / 仓库页 / 网盘分享页)。

重新提取:运行 extract_pages.batmonthly_check.bat(会自动刷新)。


HTML 报告页

快检完成后会自动打开(或双击 open_report.bat):

soft_page_check/reports/index.html

功能:

  • 四个分区:A 类 / 装机全量 / 423down / 7xiazai
  • 标题变化(主区域):链接、旧/新标题、打开按钮
  • 全部快照标题(默认折叠):当前抓到的每个页面标题,可搜索;有变化的条目带「有变化」标记
  • 搜索框:变化区与快照区各有一个,互不影响
  • 依次打开变化页:仅打开有变化的链接(需允许浏览器弹窗)

控制台与 reports/report_*.txt 会按域名分组,例如:

  • [423down] — 标题常带版本号,优先人工查看
  • [github] — 仓库 / Releases 列表页
  • [ghxi] / [hybase] — 果核、Hybase 等

「标题变化」不等于必须更新:423down 站点改标题、SEO 调整也会触发;「旧: timed out」等恢复抓取(上次失败、本次成功)通常也无需更新;最终是否下载仍由人工判断。

部分站点可能抓取失败(反爬、证书、超时),可稍后重试或手工打开该 URL。


扩展 A 类匹配

编辑 build_watchlist.pyA_PATTERNS,为 config.json 里的软件名增加 URL 关键词(小写子串),例如:

"SublimeText": ["sublimetext", "423down.com/xxxx"],

保存后运行 build_watchlist.bat,再跑 monthly_check.bat

当前无匹配页面的 sync 目录(正常,可能仅有直链或无网页):见 watchlist.jsonstats.no_url_sync_dirs


与主仓库的关系

主仓库文件 关系
Lastb_soft_version.txt URL 与说明的源文档
config.jsonsoftware_dirs 定义 A 类监控范围
software/ 实际同步的软件目录;本工具不修改此目录
generate_and_push.bat 确认更新软件之后才需要运行
根目录 README.md 客户端同步与维护者更新流程总览

设计原则

  1. 稳定优先 — 不更也能用,月度检查是可选的。
  2. 少开页面 — 爬标题比对历史,只打开有变化的 URL。
  3. 破解手工 — 自动化止于「提醒」,下载与验证必须人工完成。
  4. A 类优先 — 只监控真正进 sync 清单的软件相关页面。
  5. 423down / 7xiazai 可选 — 独立库,不进默认月度快检;季度用 monthly_check_full.bat 一次跑齐。