尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
剪藏文章总混进广告导航?Defuddle 免费把网页正文提取成干净 Markdown
剪藏文章总混进广告导航Defuddle 免费把网页正文提取成干净 Markdown【免费下载链接】defuddleGet the main content of any page as Markdown.项目地址: https://gitcode.com/gh_mirrors/de/defuddle把网页正文搬进笔记软件评论区、侧边栏、订阅按钮却跟着一起进来Defuddle 干的就是网页正文提取这件事找到主内容清掉杂项转成干净的 Markdown 或 HTML。它替你解决哪几件事你想把一篇博客存进笔记库直接 CtrlC 却把相关文章和分享按钮全带了进来。Defuddle 用打分算法挑出得分最高的正文区块广告、导航、评论区按名单清掉你得到的是能直接落库的 Markdown。手上有一份论文或博客 URL 列表要批量归档。逐条喂给它的命令行输出正文外加标题、作者、发布日期等元数据你得到一摞格式统一的 .md 文件不用再手写解析。你在搭内容管道需要稳定的正文和字段喂给下游。该工具返回title、author、published、wordCount、schema.org 数据等完整字段你不用为每个站点单独写特判。最快跑起来一条 npx 命令# 无需安装直接跑正文转 Markdown 后存到文件 npx defuddle parse https://example.com/article --markdown --output article.md不想碰终端也可以把它当库引入浏览器里new Defuddle(document).parse()Node.js 里用defuddle/node入口搭配 linkedom 或 JSDOM核心 / full / node 三个 bundle 按场景选。三个核心能力1. 正文定位靠打分而不是选择器猜它给每个候选区块打分文本密度、链接密度、语义标签甚至参考页面移动端视口下的样式得分最高的成为正文而且拿不准的宁可少删。const result new Defuddle(document, { debug: true }).parse(); result.debug.contentSelector // 最终选中的正文选择器对你意味着换一批网站不用改代码提取错了也能看到它到底选了哪一块。2. 清理有清单删了什么可追溯除了打分删低分块它还按名单删除广告、社交分享按钮、CSS 隐藏元素和小图标、跟踪像素移除逻辑集中在 src/removals/ 目录。result.debug.removals // 每块被删内容的原因如 score: -20、display:none对你意味着删多了删少了都能对账不是黑盒 3. 转 Markdown 前先统一格式代码块去行号但保留语言标记KaTeX / MathJax 公式转成标准 MathML各种脚注写法和 callout 提示框也归一成统一格式规则在 src/elements/。precode>import { parseHTML } from linkedom; import { Defuddle } from defuddle/node; const url https://example.com/article; const html await fetch(url).then((r) r.text()); const { document } parseHTML(html); // markdown 输出 Markdown出问题时看 debug 里的选择器和删除记录 const result await Defuddle(document, url, { markdown: true, debug: true }); console.log(result.title, result.author, result.published); console.log(result.content); // 干净的正文 Markdown终端里等价的一条命令是npx defuddle parse $url --frontmatter -o out.md--frontmatter会把标题、作者、来源写成 YAML 头部。配置速查表库模式常用项选项类型默认值说明markdownbooleanfalse把content转成 Markdown 输出contentSelectorstring-手动指定正文选择器跳过自动定位standardizebooleantrue标准化脚注、代码块、公式等元素removeSmallImagesbooleantrue移除图标、跟踪像素等小图useAsyncbooleantrue允许异步提取器回源抓取给 SPA 页面兜底debugbooleanfalse返回正文选择器、删除记录等调试信息踩坑 进阶群里老手的几条某些站点直接 403默认 UA 被拒是常态--user-agent传个真实浏览器 UA 基本就通了。页面是客户端渲染HTML 里根本没正文默认开启的useAsync会让站点提取器去第三方接口兜底Reddit、YouTube 这类都有专门处理见 src/extractors/纯离线环境就关掉它别傻等外网。感觉删多了或删少了拿管道开关逐个排查removeLowScoring: false跳过打分删除removeHiddenElements: false保留 CSS 隐藏块——有些博客的 sidenote 就是用display:none装的不动它正文反而不完整。contentSelector配了却没生效选择器匹配不到元素时会静默回退到自动定位开着 debug 看debug.contentSelector和debug.errors就知道走没走通。Node 里 import 就报错defuddle/node要求package.json里写type: modulelinkedom 和 JSDOM 两种 DOM 实现都能接。Defuddle 的定位其实很窄把网页正文提取成干净的 Markdown或 HTML少删、稳输出别的它不管。tests/fixtures目录里有一百多个真实页面用例和预期输出遇到拿不准的版式翻一翻就知道它对这类布局的处理思路。【免费下载链接】defuddleGet the main content of any page as Markdown.项目地址: https://gitcode.com/gh_mirrors/de/defuddle创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

如何用 Windhawk 免费定制 Windows 程序:模块化的完整指南

如何用 Windhawk 免费定制 Windows 程序:模块化的完整指南

如何用 Windhawk 免费定制 Windows 程序:模块化的完整指南 【免费下载链接】windhawk The customization marketplace for Windows programs: https://windhawk.net/ 项目地址: https://gitcode.com/gh_mirrors/wi/windhawk 关闭任务栏上的程序还要右键、找菜…

📅 2026/11/6 4:53:29
Folia 全屏歌词播放器快速教程:3 种来源、5 步让第一首歌铺满全屏

Folia 全屏歌词播放器快速教程:3 种来源、5 步让第一首歌铺满全屏

Folia 全屏歌词播放器快速教程:3 种来源、5 步让第一首歌铺满全屏 【免费下载链接】folia-major 专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器 A multi-platform music player for local files, Navidrome, and online streaming serv…

📅 2026/11/6 4:53:28
Bittware VV4 移植 Corundum:开源 100G 网卡 FPGA 实战

Bittware VV4 移植 Corundum:开源 100G 网卡 FPGA 实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/11/6 4:48:27
MORE NEWS

更多资讯

📰

半正定矩阵:概念、判定与应用全解析

1. 半正定矩阵的基本概念半正定矩阵(Positive Semi-Definite Matrix,简称PSD矩阵)是线性代数中一类特殊的对称矩阵。这类矩阵在优化问题、机器学习、信号处理等领域有着广泛的应用。简单来说,一个实对称矩阵A如果满足对于所有非零…

📰

C++将二叉树转为双向链表及判断两个链表是否相交

前言 这篇把两个常被放在一起问的指针操作题放在一篇里讲。第一题是把一棵二叉搜索树(binary search tree, BST)原地转换成一个有序的双向链表,不新建结点,只改写指针;第二题是判断两个单链表是否相交,如果…

📰

SSD硬盘测速工具AS SSD Benchmark:四项指标解读与跑分避坑

简介:AS SSD Benchmark 是一款面向 SSD 用户的轻量级硬盘性能测试工具,版本 v1.8.5611.39791,适合希望了解固态硬盘真实读写表现、排查性能瓶颈或进行硬件选型对比的普通用户与装机爱好者。压缩包共 4 个文件,约 285KB&#xff0c…

📰

C#高性能Socket通信库设计与高并发优化实践

1. 项目概述:高并发Socket通信的核心价值在网络通信领域,Socket编程一直是构建分布式系统的基石。这个C#实现的高性能Socket通信库,完整覆盖了TCP/UDP的客户端与服务端实现,特别针对高并发场景进行了深度优化。我曾在一个物联网平…

📰

010 Editor二进制解析:模板与脚本定位配置块

简介:这是一套面向开发人员、系统管理员及逆向与数据分析学习者的010 Editor十六进制编辑工具包,重点解决二进制文件查看修改、大文本检索替换和复杂文件结构解析等需求。压缩包共35个文件,约19.64MB,以dll运行库、exe主程序、qhc…

📰

KITTI点云可视化工具:纯Python轻量级交互式驾驶场景探查器

简介:本资源是一个面向自动驾驶感知算法学习者的KITTI数据集可视化工具集,专为点云处理与BEV(鸟瞰图)分析初学者及研究人员设计,解决原始.bin点云数据难以直观理解、多视角对比困难等实际问题。压缩包共42个文件&#…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬