LLM 网页数据抓取器:将网页转换为结构化数据
使用 LLM Scraper,释放大语言模型在网络抓取方面的强大能力
在快速发展的 Web 开发和数据分析领域,从浩瀚的互联网中高效提取结构化信息是一项普遍的挑战。现在,LLM Scraper——一个前沿的开源项目,有望彻底改变您从网页收集数据的方式。LLM Scraper 使用 TypeScript 开发,并基于强大的 Playwright 框架构建,它利用大型语言模型(LLMs)的强大功能,将任何网页转化为结构化、可用的数据。
什么是 LLM Scraper?
LLM Scraper 是一个多功能的 TypeScript 库,旨在简化从 Web 内容中提取数据的过程。它利用 LLM 的函数调用能力,根据您定义的模式(schemas)来解析和结构化信息。无论您处理的是预处理的 HTML、原始 HTML、Markdown,还是甚至是通过多模态 LLM 从屏幕截图中获取的视觉数据,LLM Scraper 都能满足您的需求。
主要特性与优势
LLM Scraper 拥有一系列令人印象深刻的功能,可满足广泛的应用场景:
- 广泛的 LLM 支持:可与流行的 LLM 提供商集成,包括 GPT (OpenAI)、Sonnet (Anthropic)、Gemini (Google)、Llama (Meta) 和 Qwen。
- 灵活的模式定义:您可以使用 Zod 或 JSON Schema 来定义数据结构,确保提取数据的类型安全。
- Playwright 基础:基于 Playwright 构建,这是一个强大的端到端测试和自动化工具,可确保可靠的浏览器交互。
- 多种格式模式:支持
html
、raw_html
、markdown
、text
(通过 Readability.js)以及image
(用于多模态 LLM)格式,实现多样化的数据输入。 - 流式对象:在数据处理过程中可以逐步获取数据,这对于大型数据集或实时应用程序非常有利。
- 代码生成:一项独特的功能,允许您根据定义的模式生成可重用的 Playwright 脚本,从而简化重复性任务。
开始使用 LLM Scraper
通过 LLM Scraper 开启您的数据提取之旅非常简单:
-
安装依赖:
npm i zod playwright llm-scraper
-
初始化您的 LLM:选择您偏好的 LLM 提供商并进行设置。我们为 OpenAI、Anthropic、Google、Groq 和 Ollama 提供了示例。
- OpenAI 示例:
import { openai } from '@ai-sdk/openai' const llm = openai.chat('gpt-4o')
- OpenAI 示例:
-
创建 LLMScraper 实例:使用您选择的 LLM 实例化 Scraper。
import LLMScraper from 'llm-scraper' const scraper = new LLMScraper(llm)
-
运行 Scraper:使用 Zod 定义所需的模式,然后在 Playwright 页面上执行 Scraper。
import { chromium } from 'playwright' import { z } from 'zod' import { openai } from '@ai-sdk/openai' import LLMScraper from 'llm-scraper' const browser = await chromium.launch() const llm = openai.chat('gpt-4o') const scraper = new LLMScraper(llm) const page = await browser.newPage() await page.goto('https://news.ycombinator.com') const schema = z.object({ top: z.array(z.object({ title: z.string(), points: z.number(), by: z.string(), commentsURL: z.string(), })).length(5).describe('Top 5 stories on Hacker News'), }) const { data } = await scraper.run(page, schema, { format: 'html' }) console.log(data.top) await page.close() await browser.close()
对于偏好实时数据处理的用户,stream
函数支持迭代式数据检索。
贡献 LLM Scraper
LLM Scraper 是一个社区驱动的项目。开发者鼓励通过 GitHub issues 和 pull requests 贡献代码、报告 bug 和提出功能请求,使其成为一个真正协作的开源项目。
凭借其强大的功能和用户友好的设计,LLM Scraper 对于开发人员、研究人员以及任何希望利用 AI 强大功能从网络高效提取有价值结构化数据的人来说,都是一个宝贵的工具。