×

从网页中提取主要内容,GitHub 收获 2.6k Star

hqy hqy 发表于2025-07-16 22:04:20 浏览2 评论0

抢沙发发表评论

声明:该公众号分享的工具和项目均来源于网络,仅供安全研究与学习之用,下载试用后请24小时内删除,不得用于任何商业用途。如用于其他用途,由使用者承担全部法律及连带责任,与工具作者和本公众号无关。

 

Defuddle

Defuddle是由 kepano 开发的一款网页内容提取工具。该工具能从网页中提取主要内容,去除不必要的元素(如评论、侧边栏、页眉、页脚等),使网页内容更易于阅读。它支持多种格式的输出,包括 HTML 和 Markdown,并且可以提取网页的元数据(如标题、作者、发布日期等)。

✨ 核心功能亮点

1.去除杂乱元素,提取主要内容

  • • 去除网页中的评论、侧边栏、页眉、页脚等非主要内容。保留文章的核心内容,便于进一步处理或阅读。

2.元数据提取

  • • 提取网页元数据:包括标题、作者、发布日期、描述、网站名称、网站图标等。
  • • 支持 schema.org 数据:提取网页中的 schema.org 数据,提供更丰富的元数据。

3.结构标准化

  • • 标准化 HTML 元素 :对提取的内容进行标准化处理,确保输出的一致性。
  • • 支持多种 HTML 元素 :包括标题、代码块、脚注、数学公式等。

4.Markdown 转换

  • • HTML 转 Markdown :支持将提取的 HTML 内容转换为 Markdown 格式。

  • • 保留 HTML 结构 :在转换过程中尽量保留原始 HTML 的结构。

? 安装与使用指南

▶ 安装:

npm install defuddle
# 若用于 Node.js 环境,还需:
npm install jsdom

▶ 在浏览器中使用:

import Defuddle from 'defuddle';
const defuddle = new Defuddle(document);
const result = defuddle.parse();
console.log(result.title, result.content);

▶ 在 Node.js 环境使用:

import { JSDOM } from 'jsdom';
import { Defuddle } from 'defuddle/node';

const dom = await JSDOM.fromURL('https://example.com/article');
const result = await Defuddle(dom, 'https://example.com/article', {
  debug: true,
  markdown: true
});
console.log(result.content, result.contentMarkdown, result.author);

▶ 结果对象示例:

{
  title, author, description, domain, parseTime,
  content (HTML), contentMarkdown?, wordCount,
  schemaOrgData, metaTags, favicon, image, published
}
图片

? 项目信息

  • • 项目地址:https://github.com/kepano/defuddle
  • • Stars / Forks ≈ 2.6k ⭐ / 71 ?
  • • License MIT


打赏

本文链接:https://www.kinber.cn/post/5293.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客