# How解构结果可视化工具 将How解构结果生成交互式HTML可视化页面,展示帖子详情、灵感点、匹配结果和历史来源。 --- ## 快速开始 ```bash python script/data_processing/visualize_how_results.py ``` 生成的HTML文件位置: ``` data/data_1117/当前帖子_how解构结果_可视化.html ``` 在浏览器中打开该文件即可查看可视化结果。 --- ## 功能特性 ### 1. 多帖子标签页 - 支持多个帖子的切合展示 - 每个帖子一个标签页,点击切换 - 标签显示帖子标题 ### 2. 智能目录导航 - **左侧固定目录** - 帖子详情快速跳转 - 灵感点列表导航 - How步骤快速定位 - **自动激活高亮** - 滚动时自动追踪当前位置 - 目录项高亮显示当前浏览区域 - 紫色背景标识激活项 ### 3. 紧凑帖子卡片 - **主帖子卡片**(左上方固定显示) - 缩略图预览(保持宽高比) - 标题、正文预览 - 作者、发布日期 - 点赞、评论、收藏数 - **点击展开详情** - 模态框显示完整内容 - 图片轮播查看 - 完整正文和统计数据 - 链接跳转至小红书原帖 ### 4. 灵感点详情 - **右上方固定显示** - 灵感点名称(黄色徽章) - 灵感点描述 - 包含的特征列表 ### 5. 特征分类展示 - **简洁格式**: `[大类/中类/小类] 特征名称` - 灰色小字,不喧宾夺主 - 显示在人设特征名称前 ### 6. How步骤分组 - **三级折叠结构** - 第一级:步骤名称(可折叠) - 第二级:特征匹配结果(可折叠) - 第三级:具体匹配项(可折叠) - **步骤信息展示** - 步骤名称 - 来源灵感点 - 特征数量统计 ### 7. 匹配结果详情 - **匹配头部信息** - 人设特征名称和分类 - 关系类型徽章(完全相同/包含/部分重叠等) - 匹配分数 - **展开内容** - 匹配解释说明 - 历史帖子来源卡片 ### 8. 历史帖子来源 - **卡片式展示** - 帖子缩略图 - 帖子标题 - 灵感点名称和描述 - 发布日期 - 点赞、收藏数 - 查看原帖链接 - **点击查看详情** - 所有历史帖子卡片均可点击 - 弹出模态框显示完整内容 --- ## 数据来源 ### 输入数据 | 数据文件 | 用途 | 说明 | |---------|------|------| | `data/data_1117/当前帖子_how解构结果/*.json` | How解构结果 | 包含帖子详情、灵感点、How步骤、匹配结果 | | `data/data_1117/特征名称_分类映射.json` | 特征分类 | 287个特征的分类层级(灵感点/关键点/目的点) | | `data/data_1117/特征名称_帖子来源.json` | 历史来源 | 275个特征的历史帖子来源 | ### 输出文件 ``` data/data_1117/当前帖子_how解构结果_可视化.html ``` 单个HTML文件,包含所有数据、样式和交互逻辑。 --- ## How解构结果数据结构 ### 主要结构 ```json { "帖子详情": { "title": "帖子标题", "images": ["图片URL1", "图片URL2"], "body_text": "正文内容", "like_count": 1000, "comment_count": 50, "collect_count": 200, "channel_account_name": "作者名", "publish_time": "2025-11-17 10:00:00", "link": "小红书链接" }, "how解构结果": { "灵感点列表": [ { "名称": "灵感点名称", "描述": "灵感点描述", "how步骤列表": [ { "步骤名称": "步骤1", "特征列表": [ { "特征名称": "特征A", "匹配结果": [ { "人设特征名称": "人设特征X", "匹配结果": { "relation": "same", "score": 0.95, "explanation": "匹配说明" } } ] } ] } ] } ] } } ``` ### 关系类型说明 | relation | 中文标签 | 颜色 | 说明 | |----------|---------|------|------| | same | 完全相同 | 绿色 | 语义完全一致 | | contains | 包含 | 蓝色 | A包含B | | overlap | 部分重叠 | 橙色 | 有交集但不完全相同 | | related | 相关 | 紫色 | 语义相关 | | unrelated | 无关 | 灰色 | 不相关 | --- ## 特征分类映射 ### 数据结构 ```json { "灵感点": { "猫咪": { "所属分类": ["猫咪物体", "物体", "实质"] } }, "关键点": { "特征名": { "所属分类": ["小类", "中类", "大类"] } }, "目的点": { "种草产品": { "所属分类": ["品牌种草", "创作者"] } } } ``` ### 显示格式 - 原始数据:`["猫咪物体", "物体", "实质"]`(从小类到大类) - 可视化显示:`[实质/物体/猫咪物体]`(从大类到小类) --- ## 历史帖子来源 ### 数据结构 ```json { "灵感点": [ { "特征名称": "猫咪", "特征来源": [ { "点的名称": "镜子里猫咪的反差萌表情", "点的描述": "创作者在给两只穿着同款毛衣的猫拍照时...", "帖子id": "69002ba70000000007008bcc", "帖子详情": { "title": "算了 跟你们没猫的说不清楚", "images": ["图片URL"], "like_count": 1847, "publish_time": "2025-10-28 10:34:16", "link": "小红书链接" } } ] } ] } ``` ### 用途 - 展示该特征在历史帖子中的应用案例 - 帮助理解特征的实际使用场景 - 提供参考素材和灵感 --- ## 交互功能 ### 1. 目录导航 - **点击跳转**:点击目录项快速定位到对应区域 - **自动高亮**:滚动时自动更新目录激活状态 - **固定悬浮**:目录固定在左侧,始终可见 ### 2. 折叠展开 - **步骤折叠**:点击步骤标题展开/收起该步骤下的所有特征 - **特征折叠**:点击特征区域标题展开/收起匹配结果 - **匹配项折叠**:点击匹配项标题查看详细说明和历史来源 ### 3. 帖子详情 - **主帖子**:点击左上角紧凑卡片查看完整详情 - **历史帖子**:点击历史来源卡片查看完整详情 - **图片轮播**:模态框中支持左右切换查看多张图片 - **关闭模态框**:点击背景或关闭按钮 ### 4. 外部链接 - **查看原帖**:点击"查看原帖"链接跳转至小红书 - **链接阻止冒泡**:点击链接不会触发卡片的点击事件 --- ## 样式设计 ### 颜色方案 - **主色调**:紫色系(#667eea, #764ba2) - **辅助色**:橙色(#fbbf24)用于灵感点 - **关系颜色**: - 完全相同:绿色 - 包含:蓝色 - 部分重叠:橙色 - 相关:紫色 ### 布局结构 ``` +------------------+----------------------------------------+ | | Tab导航(多帖子切换) | +------------------+----------------------------------------+ | | +----------------+------------------+ | | | | 帖子详情卡片 | 灵感点详情 | | | 目录导航 | | (点击展开) | (固定展示) | | | (固定左侧) | +----------------+------------------+ | | | | | - 帖子详情 | How步骤分组 | | - 灵感点1 | +----------------------------------+ | | - 步骤1 | | ▼ 步骤1 (来自: 灵感点1) | | | - 步骤2 | | [特征A] 匹配结果 | | | - 灵感点2 | | ▶ [分类] 人设特征X [关系] 分数 | | | | +----------------------------------+ | +------------------+----------------------------------------+ ``` --- ## 使用场景 ### 场景1:分析How解构质量 1. 查看帖子被拆解成哪些灵感点 2. 了解每个灵感点的步骤结构 3. 检查特征匹配的准确性 ### 场景2:理解特征应用 1. 点击展开匹配项查看详细说明 2. 查看历史帖子来源卡片 3. 学习特征在实际内容中的应用方式 ### 场景3:对比不同帖子 1. 切换标签页查看不同帖子的解构结果 2. 对比相同灵感点在不同帖子中的表现 3. 发现内容创作的共性和差异 --- ## 性能优化 ### 1. 图片懒加载 - 历史帖子卡片的图片使用 `loading="lazy"` - 减少初始加载时间 ### 2. 滚动节流 - 目录激活状态更新使用50ms节流 - 避免频繁触发DOM操作 ### 3. 默认折叠 - 步骤默认展开,便于快速浏览 - 匹配项默认折叠,减少页面高度 --- ## 常见问题 ### Q1: 为什么有些特征没有分类信息? **A**: 只有在`特征名称_分类映射.json`中存在的特征才会显示分类。如果是新增特征,需要先更新分类映射文件。 ### Q2: 为什么有些特征没有历史来源? **A**: 只有在`特征名称_帖子来源.json`中存在的特征才会显示历史来源。并非所有特征都有历史应用案例。 ### Q3: 如何更新可视化? **A**: 当解构结果更新后,重新运行脚本: ```bash python script/data_processing/visualize_how_results.py ``` ### Q4: 能否导出可视化结果? **A**: 生成的HTML文件是完全独立的,可以: - 直接分享给他人在浏览器中查看 - 部署到Web服务器 - 保存为PDF(浏览器打印功能) --- ## 版本历史 ### v1.0 (2025-11-17) - 初始版本 - 多帖子标签页支持 - 智能目录导航和自动激活 - 紧凑帖子卡片设计 - 特征分类层级显示 - 历史帖子来源展示 - 三级折叠结构 - 点击查看帖子详情 --- ## 相关脚本 - `match_inspiration_features.py` - 灵感点特征匹配脚本 - `visualize_inspiration_points.py` - 灵感点可视化脚本(另一个可视化工具) --- ## 技术栈 - **Python 3.x**: 数据处理和HTML生成 - **原生HTML/CSS/JavaScript**: 前端交互 - **无外部依赖**: 生成的HTML文件完全独立,无需网络请求