# @lobechat/web-crawler LobeChat 内置的网页抓取模块,用于智能提取网页内容并转换为 Markdown 格式。 ## 📝 简介 `@lobechat/web-crawler` 是 LobeChat 的核心组件,负责网页内容的智能抓取与处理。它能够从各类网页中提取有价值的内容,过滤掉干扰元素,并生成结构化的 Markdown 文本。 ## 🛠️ 核心功能 - **智能内容提取**:基于 Mozilla Readability 算法识别主要内容 - **多级抓取策略**:支持多种抓取实现,包括基础抓取、Jina 和 Browserless 渲染抓取 - **自定义 URL 规则**:通过灵活的规则系统处理特定网站的抓取逻辑 ## 🤝 参与共建 网页结构多样复杂,我们欢迎社区贡献特定网站的抓取规则。您可以通过以下方式参与改进: ### 如何贡献 URL 规则 1. 在 [urlRules.ts](https://github.com/lobehub/lobe-chat/blob/main/packages/web-crawler/src/urlRules.ts) 文件中添加新规则 2. 规则示例: ```typescript // 示例:处理特定网站 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 仓库](https://github.com/lobehub/lobe-chat) 2. 添加或修改 URL 规则 3. 提交 Pull Request 并描述: - 目标网站特点 - 规则解决的问题 - 测试用例(示例 URL) ## 📌 注意事项 这是 LobeHub 的内部模块(`"private": true`),专为 LobeChat 设计,不作为独立包发布使用。