Defuddle:Obsidian 创始人打造的网页内容提取利器,9K+ Star 的 Readability 替代方案
DefuddleObsidian 创始人打造的网页内容提取利器9K Star 的 Readability 替代方案前言当你想把一篇网页文章存进笔记、喂给 AI、或归档到 RSS 阅读器时最头疼的不是下载——而是把广告、侧边栏、评论区全部剥干净只留正文。Mozilla 的 Readability.js 曾是这个领域的标杆驱动了 Firefox 的阅读模式长达十余年。但随着 Web 技术演进Readability 的更新越来越慢策略趋于保守对现代网页的提取效果逐渐力不从心。Defuddle正是为填补这个空白而生的。一、Defuddle 是什么Defuddle 是由Steph Angokepano——知识管理工具Obsidian的创始人——亲自开发的开源项目。他在开发 Obsidian Web Clipper 浏览器插件时发现现有的内容提取库要么不够准确要么输出格式不理想于是决定自己写一个。一句话概括从网页中提取正文内容和元数据输出干净的 HTML 或 Markdown。截至 2026 年 8 月GitHub 已收获9,100 StarMIT 开源协议TypeScript 编写。项目数据GitHubhttps://github.com/kepano/defuddleStars9,122语言TypeScript协议MIT创建时间2025 年 2 月最近更新2026 年 8 月二、能做什么Defuddle 的核心能力可以概括为 5 点能力说明智能识别正文通过评分算法分析每个 HTML 元素判断哪些是正文、哪些是噪音清除干扰元素广告、导航栏、侧边栏、页脚、Cookie 提示——全部自动移除提取元数据标题、作者、发布日期、站点名称等关键信息一并提取标准化输出将混乱的网页 HTML 转换为结构清晰的 HTML 或 Markdown保留特殊格式数学公式和脚注完整保留对学术文章和技术文档特别友好三、核心原理评分算法Defuddle 的秘密武器是一套基于启发式规则的评分算法。工作流程如下遍历 DOM 树解析网页的 HTML 结构为每个容器元素打分内容加分包含大量文字和p标签的元素获得高分——这通常意味着正文链接密度惩罚如果一个区域内链接占比过高比如导航栏分数会被大幅扣减聚类与筛选高分区域被保留低分区域被移除输出清洗后的内容剩余的 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/defuddle0.19.1/esm)).default;// 直接传 document 对象不是 HTML 字符串constparsernewDefuddle(document,{url:location.href});constresultparser.parse();console.log(result);命令行使用npx defuddle parse https://example.com/article--markdown终端管道使用curldefuddle.md/https://example.com/article网页版直接访问https://defuddle.md/粘贴 URL 即可提取。六、真实应用场景场景 1Obsidian Web ClipperDefuddle 最知名的用户就是Obsidian Web Clipper——Obsidian 官方浏览器插件。当你浏览网页时点击「剪藏」背后就是 Defuddle 在提取正文、转换为 Markdown、注入到 Obsidian 笔记库中。场景 2RSS 阅读器很多 RSS 源只提供摘要全文需要跳转到原站。用 Defuddle 可以在服务端提取全文为用户提供完整的阅读体验。场景 3AI / 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免责声明本文内容基于公开资料整理仅供技术交流参考。

相关新闻

银河麒麟终端数据处理标准化实践:SQLiteGo 效能评估与落地路径

银河麒麟终端数据处理标准化实践:SQLiteGo 效能评估与落地路径

摘要 随着信创建设从基础替代迈向效能深化,银河麒麟桌面操作系统已在关键行业完成规模化终端部署,终端侧的业务台账管理、本地数据调试、离线数据处理等需求持续增长。但当前终端数据处理普遍存在工具碎片化、适配运维成本高、数据安全不可控等治理痛点…

2026/8/25 7:03:07 阅读更多 →
长行程运行卡顿、异响频发?一文讲透齿条加工底蕴对传动稳定性的致命影响

长行程运行卡顿、异响频发?一文讲透齿条加工底蕴对传动稳定性的致命影响

在数控机床、激光切割、龙门搬运以及大型自动化产线中,齿轮齿条传动因其高刚性、高速度和长行程优势,成为了不可或缺的“大动脉”。然而,许多设备工程师都经历过这样的梦魇:设备在短行程测试时丝滑顺畅,一旦行程拉长到…

2026/8/25 7:02:07 阅读更多 →
视光中心预算10万以内,角膜地形图仪怎么选?

视光中心预算10万以内,角膜地形图仪怎么选?

系列一 价格革命视光中心预算10万以内,角膜地形图仪怎么选?连锁视光中心、民营眼科诊所,年度设备预算往往卡在10万元以内。角膜地形图仪是干眼门诊、OK镜筛查、圆锥角膜随访的基础设备,但10万能买什么?买 Placido 盘够…

2026/8/25 7:02:07 阅读更多 →

最新新闻

Redis核心知识点与面试高频考点解析

Redis核心知识点与面试高频考点解析

1. Redis面试核心知识点全景解析Redis作为当今最流行的内存数据库之一,已经成为中高级开发者面试的必考内容。根据我多年参与技术面试的经验,Redis相关的考察点主要集中在数据结构、持久化机制、高可用方案和实际应用场景四大维度。下面我将从面试官视角…

2026/8/25 9:58:17 阅读更多 →
nextjs-portfolio组件架构设计:如何拆分出12个可复用的作品集组件

nextjs-portfolio组件架构设计:如何拆分出12个可复用的作品集组件

nextjs-portfolio组件架构设计:如何拆分出12个可复用的作品集组件 【免费下载链接】nextjs-portfolio portfolio website in nextjs 13 项目地址: https://gitcode.com/gh_mirrors/ne/nextjs-portfolio nextjs-portfolio 是一个基于 Next.js 13 构建的开发者…

2026/8/25 9:58:17 阅读更多 →
Kernel Adiutor 开机自动调优与 Tasker 联动:5 种自动化场景终极指南

Kernel Adiutor 开机自动调优与 Tasker 联动:5 种自动化场景终极指南

Kernel Adiutor 开机自动调优与 Tasker 联动:5 种自动化场景终极指南 【免费下载链接】KernelAdiutor An application which manages kernel parameters 项目地址: https://gitcode.com/gh_mirrors/ke/KernelAdiutor Kernel Adiutor 是一款专为 Root 安卓设备…

2026/8/25 9:58:17 阅读更多 →
为什么Nino这么快?C二进制序列化库性能对比与完整深度剖析

为什么Nino这么快?C二进制序列化库性能对比与完整深度剖析

为什么Nino这么快?C#二进制序列化库性能对比与完整深度剖析 【免费下载链接】Nino Ultimate high-performance binary serialization library for C#. 项目地址: https://gitcode.com/gh_mirrors/ni/Nino Nino 是一款面向 C# 的终极高性能二进制序列化库&…

2026/8/25 9:58:17 阅读更多 →
Android开发面试核心考点与实战技巧

Android开发面试核心考点与实战技巧

1. 面试岗位概述与技术要求NTT DATA作为全球领先的IT服务提供商,其Android开发岗位对候选人的技术广度和深度都有较高要求。根据我过去参与面试和辅导的经验,这类跨国企业的技术面试通常会聚焦以下几个核心维度:基础能力:Java/Kot…

2026/8/25 9:58:17 阅读更多 →
5分钟看懂koa-react-full-example:Koa+React+Passport+Mongoose全栈架构完全指南

5分钟看懂koa-react-full-example:Koa+React+Passport+Mongoose全栈架构完全指南

5分钟看懂koa-react-full-example:KoaReactPassportMongoose全栈架构完全指南 【免费下载链接】koa-react-full-example Full example using Koa, React, Passport, Mongoose, Webpack, Mocha, Babel 项目地址: https://gitcode.com/gh_mirrors/ko/koa-react-full…

2026/8/25 9:57:15 阅读更多 →

日新闻

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/25 0:00:34 阅读更多 →
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

2026/8/25 0:00:34 阅读更多 →
数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

1. 项目概述:从“会做”到“会写”的竞赛核心跃迁“全国大学生数学建模竞赛”,这个名字对理工科学生来说,分量极重。每年,无数团队在三天三夜的时间里,为一个开放性问题绞尽脑汁,从建立模型、求解算法到编程…

2026/8/25 0:00:34 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/24 20:22:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →