Skip to content

Latest commit

 

History

History
61 lines (43 loc) · 2.01 KB

README.zh-CN.md

File metadata and controls

61 lines (43 loc) · 2.01 KB

@lobechat/web-crawler

LobeChat 内置的网页抓取模块,用于智能提取网页内容并转换为 Markdown 格式。

📝 简介

@lobechat/web-crawler 是 LobeChat 的核心组件,负责网页内容的智能抓取与处理。它能够从各类网页中提取有价值的内容,过滤掉干扰元素,并生成结构化的 Markdown 文本。

🛠️ 核心功能

  • 智能内容提取:基于 Mozilla Readability 算法识别主要内容
  • 多级抓取策略:支持多种抓取实现,包括基础抓取、Jina 和 Browserless 渲染抓取
  • 自定义 URL 规则:通过灵活的规则系统处理特定网站的抓取逻辑

🤝 参与共建

网页结构多样复杂,我们欢迎社区贡献特定网站的抓取规则。您可以通过以下方式参与改进:

如何贡献 URL 规则

  1. urlRules.ts 文件中添加新规则
  2. 规则示例:
// 示例:处理特定网站
const url = [
  // ... 其他 url 匹配规则
  {
    // URL 匹配模式,仅支持正则表达式
    urlPattern: 'https://example.com/articles/(.*)',

    // 可选:URL 转换,用于重定向到更易抓取的版本
    urlTransform: 'https://example.com/print/$1',

    // 可选:指定抓取实现方式,支持 'naive'、'jina' 和 'browserless' 三种
    impls: ['naive', 'jina', 'browserless'],

    // 可选:内容过滤配置
    filterOptions: {
      // 是否启用 Readability 算法,用于过滤干扰元素
      enableReadability: true,
      // 是否转换为纯文本
      pureText: false,
    },
  },
];

规则提交流程

  1. Fork LobeChat 仓库
  2. 添加或修改 URL 规则
  3. 提交 Pull Request 并描述:
  • 目标网站特点
  • 规则解决的问题
  • 测试用例(示例 URL)

📌 注意事项

这是 LobeHub 的内部模块("private": true),专为 LobeChat 设计,不作为独立包发布使用。