问题
微信公众号文章剪藏后,格式存在严重问题。
以文档 331 为例(https://mp.weixin.qq.com/s?__biz=MzIzOTU0NTQ0MA==&mid=2247560111...):
1. 视频播放器 UI 文本完全暴露
WeChat 内嵌视频的播放器控件文本全部被提取为正文:
已关注
关注
重播 分享 赞
关闭
观看更多
更多
退出全屏
分享视频
,时长 02:08
0 / 0
00:00 / 02:08
切换到横屏模式
继续播放
进度条,百分之0
播放
00:00
/02:08
倍速
全屏
倍速播放中
0.5倍 0.75倍 1.0倍 1.5倍 2.0倍
超清 流畅
您的浏览器不支持 video 标签
继续观看
阿里云开发者已关注
分享点赞在看
已同步到看一看
写下你的评论
视频详情
2. 大量孤立 ** 标记
文档中散布着大量不成对的 **,通常是 WeChat HTML 中视频组件的样式标记被错误解析:
**
**
**
关注
** 重播 ** 分享** 赞
3. 标题漏字
"功能二演示:一键发" — 应该是 "一键发布",漏了"布"字(可能是 WeChat 页面渲染时文字被 JS 动态填充,提取时未完全加载)。
根因分析
WeChat 文章的 HTML 结构中,视频播放器使用 JS 动态渲染,包含大量 UI 文本节点。当前的 ExtractContent 逻辑(backend/api/web.go)可能:
- 没有过滤掉视频播放器相关的 DOM 节点 — 需要识别并移除 WeChat 视频组件(如
.video_iframe、.mp_video_player、.wx_video 等选择器)
** 是 WeChat 富文本中用来标记加粗/样式的,提取时没有正确处理嵌套的 <strong>/<b> 标签
- 动态内容未等待完全加载 — 如果是通过 headless browser 获取,视频相关文字可能还在渲染中
建议修复
-
在 ExtractContent 中增加 WeChat 特定清理:
- 移除视频播放器相关元素(
.video_iframe, .mp_video_player, .wx_video, .js_video_player)
- 清理 WeChat 特有 UI 文本("已关注"、"重播"、"倍速"等)
- 过滤孤立的
** 行
-
增加后处理步骤:对提取后的 markdown 做一轮清理
- 去除连续 3 行以上只有
** 的块
- 去除包含"您的浏览器不支持 video"等浏览器提示文本
-
考虑用 Postprocess 钩子(已有 browserSiteConfig 机制)为 WeChat 域名注册专用后处理器
影响范围
所有通过 extension-wechat(UploadWeb / ClipWeb 经 needsBrowser 识别为 WeChat)剪藏的微信公众号文章都受影响。
问题
微信公众号文章剪藏后,格式存在严重问题。
以文档 331 为例(
https://mp.weixin.qq.com/s?__biz=MzIzOTU0NTQ0MA==&mid=2247560111...):1. 视频播放器 UI 文本完全暴露
WeChat 内嵌视频的播放器控件文本全部被提取为正文:
2. 大量孤立
**标记文档中散布着大量不成对的
**,通常是 WeChat HTML 中视频组件的样式标记被错误解析:3. 标题漏字
"功能二演示:一键发" — 应该是 "一键发布",漏了"布"字(可能是 WeChat 页面渲染时文字被 JS 动态填充,提取时未完全加载)。
根因分析
WeChat 文章的 HTML 结构中,视频播放器使用 JS 动态渲染,包含大量 UI 文本节点。当前的
ExtractContent逻辑(backend/api/web.go)可能:.video_iframe、.mp_video_player、.wx_video等选择器)**是 WeChat 富文本中用来标记加粗/样式的,提取时没有正确处理嵌套的<strong>/<b>标签建议修复
在
ExtractContent中增加 WeChat 特定清理:.video_iframe,.mp_video_player,.wx_video,.js_video_player)**行增加后处理步骤:对提取后的 markdown 做一轮清理
**的块考虑用
Postprocess钩子(已有browserSiteConfig机制)为 WeChat 域名注册专用后处理器影响范围
所有通过
extension-wechat(UploadWeb / ClipWeb 经 needsBrowser 识别为 WeChat)剪藏的微信公众号文章都受影响。