news 2026/8/25 7:02:54

Defuddle:Obsidian 创始人打造的网页内容提取利器,9K+ Star 的 Readability 替代方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Defuddle:Obsidian 创始人打造的网页内容提取利器,9K+ Star 的 Readability 替代方案

Defuddle:Obsidian 创始人打造的网页内容提取利器,9K+ Star 的 Readability 替代方案

前言

当你想把一篇网页文章存进笔记、喂给 AI、或归档到 RSS 阅读器时,最头疼的不是下载——而是把广告、侧边栏、评论区全部剥干净,只留正文。

Mozilla 的 Readability.js 曾是这个领域的标杆,驱动了 Firefox 的阅读模式长达十余年。但随着 Web 技术演进,Readability 的更新越来越慢,策略趋于保守,对现代网页的提取效果逐渐力不从心。

Defuddle正是为填补这个空白而生的。


一、Defuddle 是什么?

Defuddle 是由Steph Ango(kepano)——知识管理工具Obsidian的创始人——亲自开发的开源项目。他在开发 Obsidian Web Clipper 浏览器插件时发现:现有的内容提取库要么不够准确,要么输出格式不理想,于是决定自己写一个。

一句话概括:从网页中提取正文内容和元数据,输出干净的 HTML 或 Markdown。

截至 2026 年 8 月,GitHub 已收获9,100+ Star,MIT 开源协议,TypeScript 编写。

项目数据
GitHubhttps://github.com/kepano/defuddle
Stars9,122
语言TypeScript
协议MIT
创建时间2025 年 2 月
最近更新2026 年 8 月

二、能做什么?

Defuddle 的核心能力可以概括为 5 点:

能力说明
智能识别正文通过评分算法分析每个 HTML 元素,判断哪些是正文、哪些是噪音
清除干扰元素广告、导航栏、侧边栏、页脚、Cookie 提示——全部自动移除
提取元数据标题、作者、发布日期、站点名称等关键信息一并提取
标准化输出将混乱的网页 HTML 转换为结构清晰的 HTML 或 Markdown
保留特殊格式数学公式和脚注完整保留,对学术文章和技术文档特别友好

三、核心原理:评分算法

Defuddle 的秘密武器是一套基于启发式规则的评分算法。工作流程如下:

  1. 遍历 DOM 树:解析网页的 HTML 结构,为每个容器元素打分
  2. 内容加分:包含大量文字和<p>标签的元素获得高分——这通常意味着正文
  3. 链接密度惩罚:如果一个区域内链接占比过高(比如导航栏),分数会被大幅扣减
  4. 聚类与筛选:高分区域被保留,低分区域被移除
  5. 输出清洗后的内容:剩余的 HTML 经过标准化处理,转换为最终格式

这套算法与 Readability 的思路相似,但在实现细节和调优策略上有显著差异。Defuddle更激进地拥抱现代 Web 结构,同时利用移动端样式信息来辅助判断内容区域。

开启debug: true模式后,可以看到完整的决策过程:哪些元素被选中(contentSelector)、哪些被移除(removals数组)、每一步评分的细节——对开发者调试非常友好。


四、三种构建模式,按需选择

Defuddle 提供了三种构建变体,适应不同场景:

模式导入路径特点适用场景
Coredefuddle最小体积,仅输出 HTML对包体积敏感的浏览器环境
Fulldefuddle/full内置 Markdown 转换Web 应用,需要 Markdown 输出
Nodedefuddle/node支持服务端 DOM 解析Node.js 后端、SSR 场景

这种设计让你可以精确控制依赖体积:浏览器插件用 Core,笔记工具用 Full,爬虫服务用 Node。


五、5 分钟快速上手

浏览器控制台尝鲜

constDefuddle=(awaitimport('https://cdn.jsdelivr.net/npm/defuddle@0.19.1/+esm')).default;// 直接传 document 对象,不是 HTML 字符串!constparser=newDefuddle(document,{url:location.href});constresult=parser.parse();console.log(result);

命令行使用

npx defuddle parse https://example.com/article--markdown

终端管道使用

curldefuddle.md/https://example.com/article

网页版

直接访问https://defuddle.md/粘贴 URL 即可提取。


六、真实应用场景

场景 1:Obsidian Web Clipper

Defuddle 最知名的用户就是Obsidian Web Clipper——Obsidian 官方浏览器插件。当你浏览网页时点击「剪藏」,背后就是 Defuddle 在提取正文、转换为 Markdown、注入到 Obsidian 笔记库中。

场景 2:RSS 阅读器

很多 RSS 源只提供摘要,全文需要跳转到原站。用 Defuddle 可以在服务端提取全文,为用户提供完整的阅读体验。

场景 3:AI / LLM 上下文准备

大语言模型的上下文窗口寸土寸金。把网页直接喂给 AI,大量 token 浪费在广告和导航上。Defuddle 帮你把内容压缩到只剩精华,让 AI 专注于真正重要的信息。

场景 4:网页归档与知识管理

将网页内容提取后存入本地知识库(如 Obsidian、Logseq),构建属于自己的「第二大脑」。Defuddle 输出的 Markdown 格式天然适合这类工具。


七、与同类工具对比

对比项Readability.jsDefuddleTrafilatura
作者MozillaObsidian 创始人学术团队
语言JavaScriptTypeScriptPython
输出格式HTMLHTML / MarkdownTXT / Markdown / XML
最新更新较慢活跃中等
现代 Web 适配保守激进中等
包体积较大3 种变体可选较大
浏览器使用原生CDN / npm不适用

八、总结

在信息过载的时代,「从噪音中提取信号」是一项基础能力。Defuddle 用不到 1MB 的体积,提供了一个优雅、高效、可扩展的解决方案。

无论你是知识管理爱好者、RSS 重度用户、还是正在构建 AI 应用的开发者,Defuddle 都值得加入你的工具箱。

资源链接

  • GitHub 仓库:https://github.com/kepano/defuddle
  • 网页版:https://defuddle.md/
  • CDN 引入:https://cdn.jsdelivr.net/npm/defuddle

免责声明:本文内容基于公开资料整理,仅供技术交流参考。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 6:59:09

WordPress/Discuz网站如何零代码接入腾讯云图片内容安全审核

1. 项目概述&#xff1a;为什么你的网站需要一个“图片安检员”做网站&#xff0c;尤其是内容型网站&#xff0c;最怕什么&#xff1f;除了服务器宕机&#xff0c;恐怕就是内容违规了。一张不合规的图片&#xff0c;轻则导致页面被屏蔽&#xff0c;重则可能让整个站点面临风险。…

作者头像 李华
网站建设 2026/8/25 6:59:03

API接口入门:从零理解AI编程与Web服务的核心对话规则

你有没有过这样的经历&#xff1a;想用某个AI模型生成一张图&#xff0c;或者调用一个翻译服务&#xff0c;却发现自己完全不知道从哪里下手&#xff1f;你打开一个项目文档&#xff0c;看到“调用我们的API即可”几个字&#xff0c;感觉像天书。或者&#xff0c;你写了个脚本想…

作者头像 李华
网站建设 2026/8/25 6:56:48

Python 上下文管理器 with ~

核心作用&#xff1a;进入时做资源打开&#xff0c;退出时自动执行清理&#xff08;shutdown/close&#xff09;&#xff0c;就算抛异常也一定会执行&#xff0c;不用手动写 try‑finally。 1. 两种写法 方式1&#xff1a;直接使用现成支持 with 的对象&#xff08;日常最多&am…

作者头像 李华
网站建设 2026/8/25 6:55:36

本地优先的 AI LaTeX 写作台:写论文不怕断网泄密

1. 引言 写论文的人&#xff0c;往往都经历过这样的崩溃时刻&#xff1a;网络断线、排版到一半的 LaTeX 工程打不开&#xff1b;或是在线写作工具突然抽风&#xff0c;辛辛苦苦写的内容进了“别人的服务器”还无法导出&#xff1b;更让人不安的是&#xff0c;尚未发表的研究数据…

作者头像 李华
网站建设 2026/8/25 6:55:13

游戏耳机选购指南:平坦频率响应与舒适佩戴如何提升FPS竞技体验

最近在逛社区时&#xff0c;发现一个挺有意思的现象&#xff1a;很多玩家&#xff0c;尤其是刚入坑FPS&#xff08;第一人称射击&#xff09;游戏的玩家&#xff0c;在挑选耳机时特别容易陷入一个误区——认为“听声辨位”是游戏耳机最核心、甚至唯一的功能。于是&#xff0c;预…

作者头像 李华