| name | clipping |
| description | 将网页文章(含微信公众号等 JS 渲染页面)保存为本地 Markdown 笔记。自动处理图片中的文字信息——对信息图、表格截图等使用 PaddleOCR 提取中英文文本并重构为 Markdown 表格。 |
适用场景
- 用户要求保存一篇网页文章到本地笔记系统(如 Obsidian Clippings 目录)。
- 文章来源是 JS 渲染页面(微信公众号、部分新闻站),普通抓取工具拿不到正文。
- 文章的核心信息藏在图片里(信息图、表格截图、数据可视化),需要把图片内容转为可搜索的文本。
获取文章内容
微信公众号等 JS 渲染页面,WebFetch 会返回空内容。必须通过当前可用的 headed browser provider(例如 chrome 插件的 cdp-chrome、Codex Chrome plugin,或 agent 原生 browser-use)加载页面,等待渲染完成后提取正文、标题、作者、发布日期和图片 URL。clipping 不硬依赖 chrome 插件;只有当前环境没有等价有头浏览器能力时,才建议安装/启用它。
提取时注意区分正文内容和页面装饰元素(广告、推荐阅读、底部导航等)。
识别关键图片
部分文章的主要信息以图片形式呈现——信息图、排行榜、对比表格等。这类图片通常有明显特征:尺寸较大(特别是高度远超普通配图)、位于正文核心位置。
识别到这类图片后,不能只插入图片链接,需要提取其中的文字信息。
图片 OCR 提取
对包含文字/表格的关键图片,使用 PaddleOCR(PP-OCRv5,lang='ch')提取文本。
环境注意事项:
- PaddlePaddle 对 Python 版本有兼容要求,最新的 Python 版本可能不支持,必要时回退到 Python 3.12 venv
- 国内环境 PyPI 可能有 SSL 问题,可用清华等国内镜像源
- PaddleOCR v3.4+ 的 Python API 使用
predict() 方法,不是 ocr();save_path 参数仅限 CLI 模式
- 设置
PADDLE_PDX_DISABLE_MODEL_SOURCE_CHECK=True 跳过连通性检查,避免长时间卡住
超长图片处理:
图片高度超过 4000px 时,OCR 精度会下降。将图片按 ~2000px 高度分段裁剪后逐段识别,效果更好。
表格结构重建:
OCR 返回的是带坐标的文本块列表。利用 x 坐标区分列、y 坐标判断行归属,可以重建表格结构。典型策略:用左侧文本(如公司名、行标题)作为行锚点,右侧文本作为对应内容。具体的列分界阈值需要根据实际图片布局调整。
组装 Markdown
将文章正文和 OCR 提取的表格内容合并为一份 Markdown 文件:
- Frontmatter:包含 source URL、作者、日期、标签等元数据
- 正文:保留原文结构,段落、标题层级与原文一致
- 表格:OCR 重建的表格用 Markdown 表格语法呈现,置于原图片所在位置
- 图片:非表格类图片保留为图片链接
保存
保存到用户指定的目录。文件名从文章标题生成,去除特殊字符。若用户未指定目录,询问保存位置。