Clean Web Clipper 添加到 Chrome(免费)

内部机制 · ·

Clean Web Clipper 如何提取文章,又在哪里止步

Clean Web Clipper 分四步提取文章,全部在你正在看的页面中运行:找到文章,去掉页面杂项,转换为 Markdown,对没有文章的页面予以拒绝。提取流程从不调用服务器;扩展程序唯一通信的地址是我们的统计端点。

它如何在页面上找到文章?

扩展程序首先查找文章通常所在的那些明显容器。如果没有这样的容器(很多真实网站确实没有),它就改为测量文本密度:哪个区块包含最多不在链接中的段落文本。仍然包含几乎全部这些文本的最窄区块胜出。

如果一个区块的文本大多是链接文字,那它是菜单或信息流,不是文章,会被排除;除非它包含超过大约 1200 个字符的真实文本,因为长文章本来就可能包含很多链接。

Clean Web Clipper 窗口中维基百科“马尔可夫链”文章的 Markdown:frontmatter 里有标题、来源、日期和 extraction: dom
同一篇“马尔可夫链”文章在 Clean Web Clipper 阅读视图中的样子:状态转移示意图,识别出 1,353 字和 3 条脚注
Clean Web Clipper 拒绝剪藏链接列表页 news.ycombinator.com:提示“暂时还读不了这个页面”,显示页面地址和“我需要这个网站”按钮
添加到 Chrome(免费)免费,无需账号 · 2026 年 8 月测试了 512 个页面,0 次崩溃。提取可以离线完成;在设置中关闭一个开关即可停止使用事件。For Chrome on a computer

去掉菜单、横幅和重复的导航

接着去掉已知的非内容元素:导航、横幅、分享栏、Cookie 提示、分页器、“相关阅读”信息流和 Logo 条。重复的行也会被删除,因为在每个版块都重复出现的导航,是剪藏页面中最大的噪音来源。

其他剪藏工具保留的内容

[跳到正文](#main) [登录](/login) [注册](/register)
[首页](/) [新闻](/news) [体育](/sport) [文化](/culture) [更多](/more)

我们使用 Cookie 及类似技术来改善你的体验。
[全部接受] [管理偏好]

# 你要看的那篇文章

正文真正的第一段。

<div class="promo-inline">

## 相关阅读
[另一个标题](/a) [又一个标题](/b) [还有第三个](/c)

最终进入笔记的内容

# 你要看的那篇文章

正文真正的第一段。
同一个新闻页面:一般剪藏工具保留了什么,Clean Web Clipper 保存了什么

把表格、代码和脚注转换为 Markdown

表格由扩展程序自己序列化,而不是交给通用插件,因为通用转换器遇到包含列表或代码块的单元格就会出错。代码块的语言取自页面自身的标记。引用链接会在清理器删除它们所依赖的 id 之前,被收集为 Markdown 脚注:顺序很重要,一旦弄错,所有脚注都会悄无声息地丢失。同样 109 个页面上每个引擎保留了多少表格,见基准测试页面

它什么时候回答“没有文章”?

商品页、信息流或搜索结果页上没有文章。扩展程序会检查生成好的 Markdown:如果其中超过四分之一位于链接文字中,它就报告“没有文章”,而不是给你三百个链接。这种拒绝是有意为之的,这也是这里的字符数比总会返回点什么的工具更低的原因。如果它拒绝了一篇真正的文章,请把那个页面的地址发给我们

了解它不做什么

查看常见问题的解答

剪藏一次需要多长时间?
2026 年 9 月 12 日在 17 个在线页面上的测试中,从打开窗口到 Markdown 预览就绪用时 90–820 毫秒:普通文章为 123–400 毫秒,最慢的是一个 86,000 字符的 Stack Overflow 讨论帖。耗时显示在剪藏窗口的角落里。
在单页应用上能用吗?
能。它读取渲染完成后的 DOM,所以用 JavaScript 构建的文档网站,你看到的是什么,剪藏下来的就是什么。
jsonld-articlebody 提取模式是什么?
有些页面把文章文本放在结构化数据里,却始终没有把它渲染出来。当结构化数据中的文本明显多于 DOM 时,扩展程序就使用结构化数据,并记录下这一点。
添加到 Chrome(免费)免费,无需账号 · 2026 年 8 月测试了 512 个页面,0 次崩溃。提取可以离线完成;在设置中关闭一个开关即可停止使用事件。For Chrome on a computer