Repolode
mishushakov

mishushakov/llm-scraper

一个 TypeScript 库,借助 LLM 从任意网页中提取结构化数据,基于 Playwright 运行。

Star
6,952
Fork
451
未关闭 Issue
10
最近提交
12天前

这是什么?

LLM Scraper 是一个 TypeScript 库,用大语言模型从网页中提取结构化数据。你用 Playwright 打开页面,通过 Zod 或 JSON Schema 定义期望的输出结构,库会把页面内容交给模型处理,并返回带类型的结果。

输入格式支持预处理后的 HTML、原始 HTML、Markdown、借助 Readability.js 提取的正文文本、用于多模态模型的截图,以及由自定义函数生成的内容。通过 Vercel AI SDK 可接入 OpenAI、Anthropic、Google、Groq 和 Ollama 等模型,2.0 版本基于 AI SDK 6。

除了单次提取,它还支持流式返回逐步生成的部分结果,也可以生成可复用的 Playwright 脚本,之后无需再次调用模型即可执行相同的抓取。

核心功能

  • 01使用 Zod 或 JSON Schema 定义输出结构,并具备完整的 TypeScript 类型支持。
  • 02通过 Vercel AI SDK 支持 GPT、Claude、Gemini、Llama 和 Qwen 等模型。
  • 03提供 html、raw_html、markdown、text、image、custom 六种输入模式。
  • 04支持流式返回模型生成过程中的部分结果。
  • 05可针对给定结构生成可复用的 Playwright 抓取代码。

适用场景

  • 将商品列表或新闻首页转换为 JSON,写入数据库或仪表盘。
  • 抓取没有 API 且页面结构经常变化、固定选择器容易失效的网站。
  • 用不同的 LLM 服务商试验数据提取效果并进行对比。
  • 根据结构定义生成固定的 Playwright 脚本,避免重复调用模型。

快速上手

  1. 1

    从 npm 安装核心依赖

    npm i zod playwright llm-scraper
  2. 2

    安装你所用大模型的 AI SDK 提供方(例如 OpenAI)

    npm i @ai-sdk/openai
  3. 3

    初始化大模型并创建 scraper 实例,然后在页面上运行

使用前须知

  • 抽取效果和成本取决于你选择的大模型提供方,通常需要 API 密钥。

收录于专题

标签

常见问题

llm-scraper 是什么?
一个 TypeScript 库,借助 LLM 从任意网页中提取结构化数据,基于 Playwright 运行。 LLM Scraper 是一个 TypeScript 库,用大语言模型从网页中提取结构化数据。你用 Playwright 打开页面,通过 Zod 或 JSON Schema 定义期望的输出结构,库会把页面内容交给模型处理,并返回带类型的结果。
llm-scraper 可以免费使用吗?用的什么许可证?
llm-scraper 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
llm-scraper 还在维护吗?
活跃维护中。llm-scraper 最近一次提交是在 2026年10月26日。
llm-scraper 适合用来做什么?
将商品列表或新闻首页转换为 JSON,写入数据库或仪表盘。 抓取没有 API 且页面结构经常变化、固定选择器容易失效的网站。 用不同的 LLM 服务商试验数据提取效果并进行对比。 根据结构定义生成固定的 Playwright 脚本,避免重复调用模型。
llm-scraper 怎么安装和运行?
从 npm 安装核心依赖: npm i zod playwright llm-scraper 安装你所用大模型的 AI SDK 提供方(例如 OpenAI): npm i @ai-sdk/openai 初始化大模型并创建 scraper 实例,然后在页面上运行
在哪里获取 llm-scraper?
源代码和安装说明在 GitHub 上:https://github.com/mishushakov/llm-scraper

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目