新上线10天前72 投票
Show HN:基于 TypeScript 的稳健 LLM 网页数据提取器
在构建数据管道时,网页抓取和结构化数据提取一直是开发者面临的痛点。传统的 CSS 选择器方法虽然直接,但网站布局的频繁变动常导致解析器在凌晨崩溃,迫使开发者花费大量时间重写代码。大型语言模型(LLMs)的出现为这一问题提供了新的解决方案。
Lightfeed Extractor 是一个 TypeScript 库,旨在利用 LLMs 和浏览器自动化技术,实现稳健的网页数据提取。它通过自然语言提示来导航网页并提取结构化数据,同时注重令牌效率,这对于生产环境的数据管道至关重要。
核心功能亮点
- 浏览器自动化与反检测:支持在本地、无服务器云或远程浏览器服务器上启动 Playwright 浏览器,内置反机器人补丁和代理配置,确保抓取可靠性。
- AI 驱动的浏览器导航:可与 @lightfeed/browser-agent 配合,使用自然语言命令导航页面,再进行数据提取。
- LLM 优化的 Markdown 转换:将 HTML 转换为适合 LLM 处理的 Markdown,可选提取主要内容并清理 URL 中的跟踪参数。
- 结构化数据提取:利用 LLMs 的 JSON 模式,根据输入的 Zod 架构提取数据,并包含令牌使用限制和跟踪功能。
- JSON 恢复机制:对失败的 JSON 输出进行清理和恢复,提升复杂架构(如深层嵌套对象和数组)提取的稳健性。
- URL 验证与修复:处理相对 URL、移除无效链接并修复 Markdown 转义后的链接。
应用场景与优势
Lightfeed Extractor 特别适用于需要大规模数据提取的场景,例如零售竞争对手情报分析。其平台 lightfeed.ai 可追踪 1000 多家零售链的定价、销售、促销和 SEO 数据,用户可免费开始使用。对于通用的网页数据管道,该工具还支持 AI 增强和工作流自动化。
在 AI 行业背景下,随着 LLMs 在数据处理领域的应用日益广泛,此类工具代表了从传统规则驱动方法向智能、自适应提取的转变。它不仅降低了维护成本,还通过自然语言界面提高了开发效率,有望推动数据采集技术的进一步普及和创新。
安装和使用方面,开发者可通过 npm 安装 @lightfeed/extractor,并根据需要选择 LLM 提供商(如 OpenAI、Google Gemini、Anthropic 或 Ollama)。示例代码展示了如何从电子商务网站提取结构化产品数据,支持本地或生产环境部署。
总体而言,Lightfeed Extractor 通过结合 LLMs 的灵活性和浏览器自动化的稳健性,为网页数据提取提供了一种高效、可靠的解决方案,有助于简化数据管道构建并应对动态网页挑战。