全量源文件覆盖审计
- 源目录:
/Users/project/1B/sites/找词上站agent/新词新站 - 生成时间(UTC):2026-08-24T11:50:03.037886+00:00
- 主清单:
00_全量源文件清单.csv - 本审计只做文件覆盖与可解析性盘点,不写赛道结论。
1. 覆盖分母
| 指标 | 数量 | 口径 |
|---|---|---|
| 源条目总数 | 454,566 | 普通文件 + 符号链接;不跟随目录链接 |
| 普通文件 | 454,534 | lstat/DirEntry.is_file(follow_symlinks=False) |
| 符号链接 | 32 | 清单单独列出 target、resolved target 与 target_exists |
| 现有去重网站数 | 29,561 | 复用 build_inventory.py 的域名级主表,不是文件数 |
| 主清单 CSV 数据行 | 454,566 | 必须与源条目总数相等 |
文件数与去重网站数不能混用:同一网站可以在 CSV/JSON/XLSX、多月快照和归档中重复出现;大量 GamePix 运行资源也不是网站样本。
2. 双重枚举复核
| 方法 | 条目数 | 对比结果 |
|---|---|---|
Python os.scandir + lstat |
454,566 | 主方法,生成 CSV |
BSD find (-type f / -type l) |
454,566 | find 独有 hash=0;主方法独有 hash=0 |
rg --files --hidden --no-ignore |
454,534 | 与主方法的普通文件集对比:rg 独有=0;主方法独有=0 |
rg 的主要目的是第二引擎复核普通文件;符号链接以 find + lstat 为准。中间 NUL 分隔路径保留在 _work/inventory_*.bin,不会被换行文件名破坏。
枚举裁定:PASS(两集合完全一致)。本次主扫描结束后,后台 BuildOrSkip_全量五榜_2026-08-24 任务仍在持续写入新分页,因而 find 在稍后时点看到 0 个单调新增文件;主扫描中已纳入的路径没有任何一个在 find 时消失。清单分母因此冻结为主扫描快照 454,566 条,不会为追逐永不停止的写入而无限重跑。
第二枚举时点新增路径(最多列 50 条):
- 无
扫描期间动态生成、稳定后已增量解析并追加到最终清单的路径:
BuildOrSkip_全量五榜_2026-08-24/failures/explore/page-00017.FAILED-20260824T193819.jsonBuildOrSkip_全量五榜_2026-08-24/parsed_pages/explore/page-00010.jsonBuildOrSkip_全量五榜_2026-08-24/parsed_pages/explore/page-00011.jsonBuildOrSkip_全量五榜_2026-08-24/parsed_pages/explore/page-00012.jsonBuildOrSkip_全量五榜_2026-08-24/parsed_pages/explore/page-00013.jsonBuildOrSkip_全量五榜_2026-08-24/parsed_pages/explore/page-00014.jsonBuildOrSkip_全量五榜_2026-08-24/parsed_pages/explore/page-00015.jsonBuildOrSkip_全量五榜_2026-08-24/parsed_pages/explore/page-00016.jsonBuildOrSkip_全量五榜_2026-08-24/raw_pages_sanitized/explore/page-00010.html.gzBuildOrSkip_全量五榜_2026-08-24/raw_pages_sanitized/explore/page-00011.html.gzBuildOrSkip_全量五榜_2026-08-24/raw_pages_sanitized/explore/page-00012.html.gzBuildOrSkip_全量五榜_2026-08-24/raw_pages_sanitized/explore/page-00013.html.gzBuildOrSkip_全量五榜_2026-08-24/raw_pages_sanitized/explore/page-00014.html.gzBuildOrSkip_全量五榜_2026-08-24/raw_pages_sanitized/explore/page-00015.html.gzBuildOrSkip_全量五榜_2026-08-24/raw_pages_sanitized/explore/page-00016.html.gz
现有 traffic registry 资产已复用:00_快速查找_项目索引/文件索引.csv 有 891 条历史记录,当前仍存在 870 条,缺失 21 条;目录树_两级.txt 用于解释该子项目的目录角色。它们是 2026-06-20 的子目录历史快照,不代替本次全根目录枚举。
3. 文件类型处理策略
| 类型 | 处理 | 计数口径 | 是否冒充业务分析 |
|---|---|---|---|
| CSV | ≤64 MiB 用 csv.reader 逐记录校验;更大文件流式数物理行 |
记录数(去表头)或 physical data lines | 是,但大 CSV 明确标注“物理行” |
| JSON | ≤64 MiB 完整解析;更大则安全跳过 | 顶层列表记录数/对象键数 | 否;超大镜像显式记录跳过原因 |
| JSONL | 逐行 json.loads 全量校验 |
非空 JSON 记录数 | 是 |
| XLSX | 作为 ZIP 打开,读取 worksheet XML dimension |
工作表维度行(含表头) | 仅标为 parsed_metadata,不称内容全读 |
| SQLite/DB | URI mode=ro + query_only |
所有用户表 COUNT(*) 之和 |
是 |
| MD/TXT | 二进制流式数行;小文件附 UTF-8 字符数 | 物理行 | 是 |
| DOCX | ZIP 读 word/document.xml |
段落元素数,附表格数 | 仅标为 parsed_metadata |
| 代码/测试 | 数行并分类 | 物理行 | 否,仅覆盖审计 |
| 日志 | 数行并分类 | 物理行 | 否,运行证据不等于网站样本 |
.DS_Store |
仅记路径和字节 | 无 | 否,Finder 二进制元数据 |
| 图片/视频/音频/字体/游戏运行资源/其他二进制 | 仅记路径、扩展名、字节和角色 | 无 | 否,显式 skipped |
| 符号链接 | 保留原 target、解析后 target 和存在性 | 无 | 否,避免重复读目标 |
4. 解析结果
| 分类 | 数量 |
|---|---|
解析成功(parsed*) |
153,749 |
| 解析失败 | 21 |
| 明确跳过 | 300,796 |
所有 failed 和 skipped 条目都在主 CSV 的 notes 列有原因;该条件由生成脚本断言。
失败/跳过原因汇总
| 原因 | 数量 |
|---|---|
| unsupported binary/resource type (.png) | 192,609 |
| unsupported binary/resource type (.ogg) | 21,857 |
| unsupported binary/resource type (.webm) | 21,700 |
| unsupported binary/resource type (.jpg) | 20,719 |
| unsupported binary/resource type (.webp) | 18,761 |
| unsupported binary/resource type (.m4a) | 14,040 |
| unsupported binary/resource type (.mp3) | 2,843 |
| unsupported binary/resource type (.ttf) | 2,456 |
| unsupported binary/resource type (.unityweb) | 1,760 |
| unsupported binary/resource type (.ico) | 995 |
| unsupported binary/resource type (.woff) | 538 |
| unsupported binary/resource type (.wasm) | 396 |
| unsupported binary/resource type (.woff2) | 296 |
| unsupported binary/resource type (.webmanifest) | 283 |
| unsupported binary/resource type (.otf) | 271 |
| unsupported binary/resource type (.glb) | 239 |
| unsupported binary/resource type (.data) | 206 |
| unsupported binary/resource type (.wav) | 205 |
| unsupported binary/resource type (.eot) | 156 |
| unsupported binary/resource type (.pck) | 84 |
| unsupported binary/resource type (.appcache) | 62 |
| unsupported binary/resource type (.atlas) | 43 |
| unsupported binary/resource type (.gltf) | 43 |
| unsupported binary/resource type (.fnt) | 36 |
| symbolic link indexed without following target to avoid duplicate content | 32 |
| unsupported binary/resource type (.pyc) | 26 |
| unsupported binary/resource type (.gz) | 25 |
| unsupported binary/resource type (.gif) | 18 |
| RuntimeError: JSON decode/parse failed: JSONDecodeError: Expecting value: line 1 column 1 (char 0) | 17 |
| unsupported binary/resource type (.bundle) | 17 |
| Finder binary metadata | 12 |
| unsupported binary/resource type (.zip) | 12 |
| unsupported binary/resource type (.manifest) | 10 |
| unsupported binary/resource type (.mp4) | 10 |
| unsupported binary/resource type (.cur) | 4 |
| unsupported binary/resource type (no extension) | 4 |
| unsupported binary/resource type (.bin) | 3 |
| unsupported binary/resource type (.part) | 3 |
| JSON 1728044388 bytes exceeds full-parse safety limit 67108864 | 2 |
| unsupported binary/resource type (.aac) | 2 |
| unsupported binary/resource type (.bak-20260502150903) | 2 |
| unsupported binary/resource type (.bytes) | 2 |
| unsupported binary/resource type (.sqlite3-shm) | 2 |
| unsupported binary/resource type (.sqlite3-wal) | 2 |
| RuntimeError: JSON decode/parse failed: UnicodeDecodeError: 'gb18030' codec can't decode byte 0x81 in position 97: illegal multibyte sequence | 1 |
| RuntimeError: JSON decode/parse failed: UnicodeDecodeError: 'gb18030' codec can't decode byte 0x9e in position 28: illegal multibyte sequence | 1 |
| RuntimeError: JSON decode/parse failed: UnicodeDecodeError: 'gb18030' codec can't decode byte 0xa5 in position 61: illegal multibyte sequence | 1 |
| RuntimeError: JSON decode/parse failed: UnicodeDecodeError: 'gb18030' codec can't decode byte 0xb8 in position 91: illegal multibyte sequence | 1 |
| unsupported binary/resource type (.bak-pre24-20260502151830) | 1 |
| unsupported binary/resource type (.hash) | 1 |
| unsupported binary/resource type (.jpeg) | 1 |
| unsupported binary/resource type (.lock) | 1 |
| unsupported binary/resource type (.mem) | 1 |
| unsupported binary/resource type (.pid) | 1 |
| unsupported binary/resource type (.pre-normalize-20260502161902) | 1 |
| unsupported binary/resource type (.tag) | 1 |
| unsupported binary/resource type (.version) | 1 |
| unsupported binary/resource type (.wrl) | 1 |
5. 扩展名分布
| 扩展名 | 数量 |
|---|---|
| .png | 192,611 |
| .js | 93,800 |
| .json | 35,606 |
| .ogg | 21,858 |
| .webm | 21,700 |
| .jpg | 20,719 |
| .webp | 18,761 |
| .m4a | 14,041 |
| .html | 12,342 |
| .css | 7,516 |
| .mp3 | 2,843 |
| .ttf | 2,456 |
| .unityweb | 1,760 |
| .svg | 1,455 |
| .md | 1,112 |
| .csv | 1,042 |
| .ico | 995 |
| .woff | 538 |
| .wasm | 396 |
| .woff2 | 296 |
| .webmanifest | 283 |
| .otf | 271 |
| .xlsx | 255 |
| .txt | 254 |
| .glb | 239 |
| .data | 206 |
| .wav | 205 |
| .eot | 156 |
| .xml | 152 |
| .log | 129 |
| .pck | 84 |
| .appcache | 62 |
| .pyc | 53 |
| .py | 49 |
| .atlas | 43 |
| .gltf | 43 |
| .fnt | 36 |
| (none) | 32 |
| .jsonl | 30 |
| .gz | 25 |
| .gif | 18 |
| .bundle | 17 |
| .zip | 12 |
| .manifest | 10 |
| .mp4 | 10 |
| .sh | 8 |
| .cur | 4 |
| .bin | 3 |
| .part | 3 |
| .plist | 3 |
| .aac | 2 |
| .bak-20260502150903 | 2 |
| .bytes | 2 |
| .sqlite3 | 2 |
| .sqlite3-shm | 2 |
| .sqlite3-wal | 2 |
| .bak-pre24-20260502151830 | 1 |
| .docx | 1 |
| .gitignore | 1 |
| .hash | 1 |
| .jpeg | 1 |
| .lock | 1 |
| .mem | 1 |
| .pid | 1 |
| .pre-normalize-20260502161902 | 1 |
| .tag | 1 |
| .version | 1 |
| .wrl | 1 |
6. 顶层目录分布
| 顶层目录 | 数量 |
|---|---|
| 新词新站爆款流量traffic-registry | 454,255 |
| trustmrr-daily-10k | 88 |
| BuildOrSkip_全量五榜_2026-08-24 | 54 |
| NewSites-2025年每个月流量飙升榜单汇总 | 47 |
| toolify | 43 |
| saas_exit_月入万刀全量梳理_2026-08-22 | 29 |
| .rankup | 17 |
| trustmrr_export_work_2026-06-10 | 16 |
| 全站点与月入万刀机会总梳理_2026-08-23 | 11 |
| .DS_Store | 1 |
| GA4-setup-flow.txt | 1 |
| agent-sop-内容值得被转才是最好的外链形式.txt | 1 |
| gsc+ga优化sop.txt | 1 |
| seo优化sop.txt | 1 |
| 上站sop.txt | 1 |
7. 随机路径存在性抽查
固定随机种子 20260824,蓄水池抽样 25 条,lexists 通过 25 条:
新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/monster-kid-jump/build/index.html— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/kaido/build/media/win_2.m4a— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/spider-solitaire-3/manifest.json— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/tap-fun/build/appmanifest.json— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/abcpop/build/runtimescene.js— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/gentlemans-quest/build/images/character_bg_-sheet0.png— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/rainbow-girls-christmas-party/build/assets/level4/eshade3.png— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/brick-breaker-unicorn/build/media/collisionhit.webm— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/toid-blaster/build/style.css— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/bricks-breaker/cover.jpg— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/smart-box-match/build/images/shared-0-sheet0.png— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/flipper-dunk-3d/build/assets/images/skin-icon-ball-candy-3.4c192469c90db049c856.png— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/new-doodle/build/images/ground_grass-sheet0.png— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/matchcandy-io/build/states/Achievements.js— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/quevi-2/build/images/jewel-sheet0.png— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/potato/cover.jpg— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/ball-slider/build/media/c 5.webm— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/watermelon-merge/build/images/fruit-sheet2.png— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/target-tap-deluxe/icon.png— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/wear-the-helmet/build/workermain.js— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/steel-defender/build/images/chessfaketarget-sheet1.png— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/paint-roller/build/TemplateData/progress-bar-full-dark.png— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/adventure-capitalist-hole/build/images/powercharge-sheet0.png— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/fidget-popit-challange/manifest.json— lexists=true, type=file新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/bad-driver/build/icon-256.png— lexists=true, type=file
8. 机械验证结论
- CSV 数据行 = 454,566,声明源条目 = 454,566:PASS。
find与主枚举集合:PASS(两集合完全一致)。- 随机 25 路径
lexists:PASS。 - 失败/跳过原因完整性:PASS(缺原因 0 条)。
- 源目录仅读原则:清单脚本只对源路径调用读操作;所有产物位于
/Users/project/1B/千百万刀/方法论/新词新站_300单_AI复购赛道全量分析_2026-08-24。
本文档为站内渲染。原始文件本地路径:saas/source/methodology/方法论-新词新站_300单_AI复购赛道全量分析_2026-08-24-00_覆盖审计-ec34ca.md(仅本地保留,不入库不部署)