CrawlForge
首页应用场景集成价格文档博客
用本地 LLM 提取网页数据(Ollama + CrawlForge)
AI Engineering
返回博客
AI 工程

用本地 LLM 提取网页数据(Ollama + CrawlForge)

C
CrawlForge Team
工程团队
2026年5月24日
阅读时长 9 分钟

本页内容

快速解答

extract_with_llm 是一个 CrawlForge 工具,默认针对本地 Ollama 实例运行由 LLM 驱动的网页提取,并可选地回退到 OpenAI 或 Anthropic。无需任何外部 API key,你提取的数据永远不会离开你的机器,每次提取的 LLM 成本从几分钱降到零。无论使用哪个模型,每次调用花费 3 个 CrawlForge credits。

一项网页提取任务,不应当要求把你提取的数据发送给 OpenAI。借助 extract_with_llm 和本地安装的 Ollama,结构化提取现在完全在你的机器上运行——无需 API key,无按 token 计费,没有第三方看到你的内容。本文是深度剖析:为什么本地很重要、如何配置,以及在何时使用它而非其他替代方案。

目录

  • 什么是 LLM 网页提取?
  • 为什么选择本地 Ollama(而不是 OpenAI)?
  • 配置:5 分钟跑通 Ollama + extract_with_llm
  • list_ollama_models:发现你机器上有什么
  • 基于 schema 的提取
  • 何时使用 Ollama、OpenAI 还是 Anthropic
  • 成本对比
  • 局限与准确率

什么是 LLM 网页提取?

LLM 网页提取是这样一种工作流:你把两样东西交给模型——一个页面的原始 HTML 和一个描述你想要什么的 schema——模型则返回结构化的 JSON。它是手写 CSS 选择器的现代替代品。当网站的布局发生变化时,选择器会失效;而 LLM 会自适应。

CrawlForge 早已以 extract_structured(CSS 优先,LLM 回退)的形式提供了这一能力。新的 extract_with_llm 工具则是 LLM 优先:每次提取都是一次 LLM 调用。v4.2.2 中改变的是默认提供方。以前你需要一个 OpenAI 或 Anthropic 的 key,现在不需要了。

为什么选择本地 Ollama(而不是 OpenAI)?

三个原因,按对大多数团队的重要性递减排列。

1. 你提取的数据留在你的机器上。 当你调用 OpenAI 时,页面内容会发送到 OpenAI。对于竞争情报、法律文件、客户数据或任何受监管的内容,这往往是一个绝对的硬性障碍。本地 Ollama 意味着只走 localhost。

2. LLM 是免费的。 大规模情况下,一次 gpt-4o-mini 调用每次提取约花费 $0.0001。听起来微不足道——直到你每天运行 10,000 次提取。Ollama 是 $0 加上电费。无论使用哪个提供方,你仍然为每次调用支付 3 个 CrawlForge credits。

3. 无需管理新的 API key。 如果你有 Ollama,你就有了一个提供方。无需注册、无账单告警、无需轮换。

代价在于模型质量。笔记本上的 llama3.1:8b 在困难页面上无法与 gpt-4o 相提并论。对于 80% 的情形(干净的 HTML、简单的 schema),它表现良好。对于那 20%(格式繁重、含义模糊),你可以在同一次调用中回退到 OpenAI 或 Anthropic。

配置:5 分钟跑通 Ollama + extract_with_llm

Bash

这是 Ollama 这一侧。现在从 CrawlForge 这一侧(通过 CLI、MCP server 或 API——任何方式都可以):

Typescript

从 CLI:

Bash

list_ollama_models:发现你机器上有什么

在运行大批量任务之前,先核查一下实际安装了什么:

Bash

或通过 MCP/SDK:

Typescript

这花费 0 credits。它是一个发现辅助工具,而不是一次提取调用。它在引导流程、CI 冒烟测试(「Ollama 配置正确吗?」)以及任何本地 LLM 流水线的第一步中都很有用。

基于 schema 的提取

schema 是一个标准的 JSON Schema 对象。LLM 读取它并产出匹配的输出。有两种模式效果很好:

模式 1:用于简单数据的扁平 schema

Typescript

模式 2:用于更丰富数据的嵌套 schema

Typescript

schema 越小,提取就越可靠——尤其是在本地 8B 模型上。如果你发现某个模型在臆造字段,就把 schema 简化。

何时使用 Ollama、OpenAI 还是 Anthropic

场景推荐的提供方原因
高吞吐量的批量提取OllamaLLM 边际成本 = $0
敏感或受监管的数据Ollama仅走 localhost
复杂的多页推理OpenAI(gpt-4o)在困难页面上推理最佳
长上下文(50K+ tokens)Anthropic(Claude)200K 上下文窗口
快速原型、低吞吐量Ollama除安装外零配置
含义模糊的内容(讽刺、俚语)OpenAI 或 Anthropic模型更大 = 消歧更好

好消息是:切换提供方只是改一个参数。你可以在 Ollama 上做原型,遇到一个困难页面,就为那一次调用切换到 provider: "openai",然后继续。

成本对比

每 1,000 次提取的成本,假设页面为平均规模(输入约 3K tokens,输出约 200 tokens):

提供方模型每 1K 的 LLM 成本每 1K 的 CrawlForge credits每 1K 合计
Ollama(本地)llama3.1:8b$0(电费)3,000 credits3,000 credits
Ollama(本地)llama3.1:70b$0(电费,更高)3,000 credits3,000 credits
OpenAIgpt-4o-mini约 $0.453,000 credits3,000 credits + $0.45
OpenAIgpt-4o约 $8.503,000 credits3,000 credits + $8.50
Anthropicclaude-haiku-4-5约 $0.303,000 credits3,000 credits + $0.30
Anthropicclaude-sonnet-4-6约 $4.503,000 credits3,000 credits + $4.50

CrawlForge credits 在各提供方之间是固定的——你为编排付费,而非为模型付费。在我们的 Hobby 套餐(10,000 credits/$19/月)下,这大约是每月 3,300 次 LLM 提取,花费 $19 + $0(如果你使用 Ollama)。

局限与准确率

在我们的内部基准测试中,本地 Ollama(llama3.1:8b)擅长的方面:

  • 干净的产品页面(Amazon、Shopify):字段准确率约 95%
  • 文章元数据(Substack、Medium):约 92%
  • 论坛帖子(HN、Reddit):约 88%

它吃力的方面:

  • 重度 JS 渲染、HTML 极少的页面(先用 scrape_with_actions,再提取)
  • 结构含义模糊的页面(使用前沿模型)
  • 字段数达 20+ 的 schema(拆分为多次提取)
  • 非英文内容(使用像 mistral 这样的多语言模型)

如果准确率至关重要而 Ollama 漏掉了字段,解决办法通常是:更简单的 schema,或为那次调用升级到 provider: "openai"。


准备好在数据不离开机器的前提下提取数据了吗? 用 1,000 个免费 credits 免费开始,用你的本地 Ollama 试用 extract_with_llm。第一次接触 CrawlForge?阅读 v4.2.2 发布公告 了解背景,或阅读 CLI 指南 体验以终端为先的工作流。

标签

extract-with-llmOllamalocal-AIai-engineeringstructured-extractionprivacy

关于作者

C

CrawlForge Team

工程团队

我们正在打造功能最全面的 Web 抓取 MCP server。我们开发的工具帮助开发者为 AI 应用提取、分析和转换 Web 数据。

本页内容

Frequently Asked Questions

如果 Ollama 是免费的,extract_with_llm 还会消耗 credits 吗?+

会——无论你使用哪个 LLM 提供方,每次调用 3 个 CrawlForge credits。这个 credit 覆盖的是编排:获取页面、处理反爬虫防御、根据你的 schema 校验响应,以及返回结构化 JSON。LLM 本身的成本则是另算的:使用 Ollama 为 $0,使用 OpenAI/Anthropic 则按 token 计费。

哪些 Ollama 模型最适合网页提取?+

llama3.1:8b 是推荐的起点——速度快、对大多数页面足够准确,并且能在消费级硬件上运行(最低 8GB 内存)。如需在复杂页面上获得更高准确率,可尝试 llama3.1:70b(需要 48GB 内存)。对于多语言提取,mistral 或 qwen2.5 表现良好。避免使用参数量低于 7B 的模型——它们会臆造字段。

我可以用远程的 Ollama 实例而不是 localhost 吗?+

可以。在调用 extract_with_llm 之前,把 OLLAMA_HOST 环境变量设置为你远程 Ollama 的 URL。如果你在专用 GPU 服务器上运行 Ollama,而你的 CrawlForge worker 在另一台机器上,这会很有用。连接仍然是直连的——CrawlForge 不会对它做代理转发。

extract_with_llm 与 extract_structured 相比如何?+

extract_structured 是 CSS 优先:你提供选择器,它返回匹配的数据,仅在选择器失效时才回退到 LLM。extract_with_llm 是 LLM 优先:每次提取都是一次模型调用。当你知道选择器且它们很稳定时,使用 extract_structured;当页面布局未知或经常变化时,使用 extract_with_llm。

当我使用 Ollama 时,我的数据会被发送到任何地方吗?+

当提供方为 "ollama" 时,没有任何第三方会看到你的数据。提取到的 HTML 从 CrawlForge 发送到你的 Ollama 实例(localhost 或你自己的服务器),响应再返回。除标准的请求元数据外,我们这一侧不会记录或存储任何内容。当提供方为 "openai" 或 "anthropic" 时,HTML 会按各自的条款发送给该厂商。

如果页面有反爬虫防护怎么办?+

先用 stealth_mode 获取页面,然后通过 extract_with_llm 的 "html" 参数把 HTML 直接传入(跳过获取步骤)。或者在一次调用中合并完成:带 stealth: true 的 extract_with_llm 会让获取过程使用住宅代理和指纹轮换,然后在结果上运行 LLM 提取。

相关文章

MCP 协议详解:2026 开发者指南
AI Engineering

MCP 协议详解:2026 开发者指南

了解 Model Context Protocol 的工作原理、它为何对 AI 智能体至关重要,以及如何借助架构图和代码构建 MCP server 与客户端。

C
CrawlForge Team
|
4月27日
|
10 分钟
如何用网页数据构建 RAG 流水线
AI Engineering

如何用网页数据构建 RAG 流水线

构建一个生产级 RAG 流水线:爬取网站、提取内容、对文本分块、生成 embedding,并提供检索增强的回答。

C
CrawlForge Team
|
4月14日
|
11 分钟
隐身模式爬取:CrawlForge 如何绕过反爬虫检测
AI Engineering

隐身模式爬取:CrawlForge 如何绕过反爬虫检测

深入剖析反爬虫检测系统,以及 CrawlForge 的隐身模式功能如何帮助你合规、高效地爬取受保护的网站。

C
CrawlForge Team
|
1月22日
|
14 分钟

页脚

CrawlForge

面向 AI Agent 的企业级网页抓取。23 个专业 MCP 工具,专为构建智能系统的现代开发者而设计。

产品

  • 功能
  • 价格
  • 应用场景
  • 集成
  • 替代方案
  • 更新日志

资源

  • 快速上手
  • API 参考
  • 模板
  • 指南
  • 博客
  • 术语表
  • 常见问题
  • 网站地图

开发者

  • MCP 协议
  • Claude Desktop
  • Cursor IDE
  • LangChain
  • LlamaIndex

公司

  • 关于我们
  • 联系我们
  • 隐私政策
  • 服务条款

保持更新

获取新工具和新功能的最新动态。

基于 Next.js 和 MCP 协议构建

© 2025-2026 CrawlForge。保留所有权利。