llm-scraper 项目介绍
llm-scraper 是一个强大的 TypeScript 库,它允许用户使用大型语言模型(LLMs)从任何网页中提取结构化数据。这个项目为网页数据抓取提供了一种创新的解决方案,特别适合那些需要从复杂网页中提取特定信息的开发者和数据分析师。
主要特性
llm-scraper 具有以下几个突出的特性:
-
多样化的 LLM 支持:它支持本地模型(如 Ollama 和 GGUF)以及云端模型(如 OpenAI 和 Vercel AI SDK 提供的模型)。这种灵活性使得用户可以根据自己的需求和资源选择最合适的模型。
-
类型安全:项目使用 TypeScript 开发,提供了完整的类型安全支持,这可以大大减少开发过程中的错误,提高代码质量。
-
基于 Playwright:llm-scraper 底层使用了 Playwright 框架,这使得它能够处理现代网页,包括那些依赖 JavaScript 渲染的动态网页。
-
流式对象支持:用户可以使用流式处理来获取部分对象,这对于处理大量数据或需要实时反馈的场景非常有用。
-
代码生成功能:最新版本支持代码生成,可以生成可重用的 Playwright 脚本,进一步简化了数据抓取过程。
-
多种格式支持:llm-scraper 支持四种数据格式:HTML、Markdown、纯文本(使用 Readability.js 提取)和图像截图(仅限多模态模型)。
使用方法
使用 llm-scraper 的基本步骤如下:
- 安装必要的依赖包。
- 初始化选择的 LLM 模型。
- 创建 LLMScraper 实例。
- 定义数据提取模式(使用 Zod 模式定义)。
- 运行 scraper 并获取结果。
项目提供了详细的示例代码,展示了如何从 Hacker News 网站提取热门故事。此外,它还支持流式处理和代码生成功能,这些高级特性为用户提供了更多灵活性和效率。
社区贡献
作为一个开源项目,llm-scraper 欢迎社区成员的贡献。无论是报告 bug、提出改进建议,还是直接提交代码,项目维护者都鼓励用户参与到项目的发展中来。
总的来说,llm-scraper 为网页数据提取提供了一个创新、灵活且强大的解决方案。它结合了大型语言模型的能力和现代网页抓取技术,为开发者提供了一个高效、易用的工具,可以大大简化从复杂网页中提取结构化数据的过程。