初始化提交:contentm_agent 工作区全量快照
内容分四块: 1、产品规划产出 —— MCN 短视频整合营销工作台的①段五份(1a 需求/1b 竞品/1c 画像/1d 策略/1e 场景)、②段两份(2a 功能/2b 布局)、③段界面(DESIGN.md 契约与令牌表 + mcn-workbench.html 原型 + 实测/会诊/审查三份 + 23 张闸门截图)。 2、开源竞品调研 —— 5 个内容工作台项目的取证原始件与 1b 系列分析文档。 3、参考资料 —— 竞品视频抽帧 1145 张 + 2 个源视频 + 功能点截图。 4、机制侧 —— 协作脚本与状态台账、工作区记忆日志、抽帧/OCR 脚本。 .gitignore 只排运行时日志、脚本备份副本与一次性探针输出,其余按原样入库。
This commit is contained in:
commit
df56c2c137
1773 files changed
+205840
No files matched your search
@@ -0,0 +1,67 @@
|
||||
# 数据归档规范(SOP)
|
||||
|
||||
> aigc-idea-impression 数据获取后的归档规则。**数据根目录:`D:\MCNSkill项目\`**(2026-08-30 由 `RedFox数据` 迁移更名;旧路径已废弃)。
|
||||
|
||||
---
|
||||
|
||||
## 一、目录规则(按数据类型分目录,作品/视频按账号名分)
|
||||
|
||||
| 数据类型 | 目录 | 分目录粒度 | 示例 |
|
||||
|---------|------|-----------|------|
|
||||
| **榜单数据**(日榜、七日飙升榜等) | `MCNSkill项目\榜单数据\YYYY-MM\` | 按月 | `榜单数据\2026-08\剧情赛道热榜账号TOP10_2026-08-29.json` |
|
||||
| **信息源数据**(AI信息源、短剧信息源等) | `MCNSkill项目\信息源数据\YYYY-MM\` | 按月 | `信息源数据\2026-08\...json` |
|
||||
| **作品数据**(单作品爬取、账号诊断等) | `MCNSkill项目\作品数据\{账号名称}\` | **按账号**(无日期层) | `作品数据\王墨绫子\王墨绫子_长视频筛选_2026-08-30.json` |
|
||||
| **视频数据**(下载的视频 + 抽帧/音频/报告等) | `MCNSkill项目\作品数据\{账号名称}\{视频标题清洗后}_{YYYY-MM-DD}\` | 按账号 + 按视频标题+发布时间 | `作品数据\王墨绫子\不是一见钟情是第一次见面穿了包臀裙_2026-08-27\video2.mp4` |
|
||||
|
||||
## 二、视频数据按标题文件夹规则(核心)
|
||||
|
||||
- **每个视频一个文件夹**,文件夹名 = **`{视频标题清洗后}_{发布时间YYYY-MM-DD}`**(标题去所有空格 + Windows 非法字符 `\ / : * ? " < > |` + 常见标点符号 `#,。?!、,,.~!@$%^&()[]{}` 等;发布时间取视频实际发布时间,如 2026-08-27)
|
||||
- 层级:`作品数据\{账号名称}\{视频标题清洗后}_{YYYY-MM-DD}\`(不用时间文件夹)
|
||||
- 文件夹内放该视频的全部数据:`{视频}.mp4`、`audio.wav`、`{直链}.txt`、`frames/`(抽帧)、`理解报告_*.md` 等
|
||||
- 账号级/中间数据(如长视频筛选 JSON、Fiber 原始提取、视频列表 Excel)放**账号层**(`作品数据\{账号名称}\`,不放视频文件夹)
|
||||
- 示例:`不是一见钟情 是第一次见面穿了包臀裙`(2026-08-27 发布)→ `作品数据\王墨绫子\不是一见钟情是第一次见面穿了包臀裙_2026-08-27\`
|
||||
- **视频列表 Excel**:账号层保存 `{账号名称}_视频列表_{YYYY-MM-DD}.xlsx`(13 列:序号/视频ID/视频标题/视频地址/点赞数/点赞显示/评论数/分享数/收藏数/播放量/视频时长/发布时间/标签),供后续使用与更新(参考 mcn-dou-analysis 短视频表格规范)
|
||||
|
||||
## 三、中间产物管理(防止账号层膨胀,2026-08-30 实测教训)
|
||||
|
||||
**账号层只保留:数据源(如 fiber_dom_merged.json、redfox_worklist_raw.json)+ 最终交付(Excel/报告)+ 视频文件夹**。
|
||||
|
||||
- **中间产物用后即清**:每次提取/审计的临时文件(fiber_extract_raw / fiber_full_raw / fiber_audit / fiber_capability 等)**只保留最新一份**(供追溯),旧版立即移入 `_中间产物_待清理/` 或删除,禁止逐轮堆积
|
||||
- **cookies 等敏感临时文件**:用后立即清理(不过夜),禁止长期留存
|
||||
- **mp4/音频/帧**:必须进对应视频文件夹,禁止放账号层
|
||||
- 清理时机:每次任务完成归档时顺手检查账号层,超 5 个非交付文件即整理
|
||||
|
||||
## 三、命名规则
|
||||
|
||||
- 文件名必须含**实际数据日期**(不是获取日期),如 `_2026-08-29.json`
|
||||
- 命名模式:`{类型}_{描述}_{YYYY-MM-DD}.json`
|
||||
|
||||
## 三、格式规则
|
||||
|
||||
- **统一 JSON**(`.json`),UTF-8 编码,`ensure_ascii=False`
|
||||
- **保留完整结构化字段**(原始 API 响应的关键字段原样保存),便于后续入库
|
||||
- 榜单类:外层含 `{date, category, count, data: [...]}`;账号类:含 `{date, source, account: {...}}`
|
||||
|
||||
## 四、数据来源标注
|
||||
|
||||
- 归档 JSON 中标注 `source`(如 `红狐API-likesRank` / `browser-harness-抖音网页版`),区分数据来源
|
||||
- 浏览器获取的数据按红线规则优先使用;第三方 API 兜底时注明
|
||||
|
||||
## 五、操作步骤
|
||||
|
||||
```python
|
||||
import os, json, re
|
||||
# 榜单/信息源:按分类按月
|
||||
base = r"D:\MCNSkill项目\{榜单数据|信息源数据}\{YYYY-MM}"
|
||||
# 作品/视频数据:按账号名(无日期层)
|
||||
base = r"D:\MCNSkill项目\作品数据\{账号名称}"
|
||||
def clean_title(t):
|
||||
t = re.sub(r'\s+', '', t)
|
||||
t = re.sub(r'[\\/:*?"<>|#,。?!、,,.·~~!@$%^&()()\[\]【】{}]', '', t)
|
||||
return t
|
||||
if 是视频: base = os.path.join(base, clean_title(视频标题))
|
||||
os.makedirs(base, exist_ok=True)
|
||||
fp = os.path.join(base, f"{类型}_{描述}_{YYYY-MM-DD}.json")
|
||||
with open(fp, "w", encoding="utf-8") as f:
|
||||
json.dump(data, f, ensure_ascii=False, indent=2)
|
||||
```
|
||||
Reference in new issue
Block a user