CrawlForge MCP
首页Playground应用场景集成价格文档博客
智能体爬虫:它是什么,以及如何构建一个
AI Engineering
返回博客
AI 工程

智能体爬虫:它是什么,以及如何构建一个

C
CrawlForge Team
工程团队
2026年8月22日
阅读时长 13 分钟

本页内容

快速解答

智能体爬虫是由 LLM 推理循环而非固定脚本驱动的网页爬虫:你用自然语言给出目标,由它决定抓取哪些页面、何时越过反爬墙、何时数据已经够用,无需 CSS 选择器,也没有逐站点的维护成本。在结构未知或频繁改版的站点上,它胜过传统爬虫;而在吞吐量、速度和确定性上则大幅落后,因为 LLM 的推理成本按页计算且无法摊薄。真正可用的生产模式是「智能体负责发现 + 确定性批量工具负责规模」:在 CrawlForge 上,一次 `agent` 调用是 8 credits,可覆盖最多 20 个页面;而 `batch_scrape` 拉取 100 个已知 URL 只要 20 credits,比逐个抓取便宜 10 倍。

传统爬虫是一组指令:抓取这个 URL,读取 .product-price,返回文本。智能体爬虫则是一个目标:找到当前价格,无论页面今天长什么样。

这个区别听起来很学术,直到网站改版为止。执行指令的那个返回 null,你的数据管道随之陷入沉默。追逐目标的那个会看一眼页面,发现价格挪进了"查看价格"按钮背后的弹窗里,点开它,然后把数字带回来。

它听起来也像天上掉馅饼,但并不是。智能体爬虫更慢、单页成本更高,而且偶尔会以十足的自信给出错误答案——这是失效的选择器永远不会犯的错。本文讲清楚智能体爬虫(英文 agent scraper)到底是什么、构建它的三种方式、其中两种的可用代码,以及大多数文章都会跳过的那部分:在哪些具体条件下你根本不该用它。

目录

  • 什么是智能体爬虫?
  • 智能体爬虫如何工作?
  • 智能体爬虫与传统爬虫的对比
  • 构建智能体爬虫的三种方式
  • 一次调用就能跑起来
  • 自己写智能体循环
  • 智能体爬虫为什么会在生产环境失败?
  • 智能体爬虫的成本是多少?
  • 什么时候不该用智能体爬虫?
  • 上线前的五道防线
  • 常见问题

什么是智能体爬虫?

智能体爬虫是由 LLM 推理循环而非固定脚本驱动的网页爬虫。你用自然语言给它一个目标——"找出这个站点的所有定价档位以及每档包含什么"——由它决定抓取哪些页面、何时升级到浏览器、何时信息已经够用,以及如何组织答案。没有 CSS 选择器,没有 XPath,也没有逐站点的维护成本。

有三个特性把它和此前的一切区分开来:

  1. 它会规划。 请求序列是在运行时根据目标选定的,而不是提前写死的。
  2. 它会适应。 一个 403、一个空结果或一个意料之外的布局,都是下一步决策的输入,而不是致命错误。
  3. 它按条件终止,而不是按次数。 它在目标达成时停下——这恰恰是你必须从外部施加硬性限制的原因。

这个词被用得很随意,所以有必要说清楚智能体爬虫不是什么。调用一次 LLM 来清洗已抓取 HTML 的爬虫属于 AI 辅助爬取,控制流仍然是你的脚本。由 LLM 在开发阶段挑选选择器的浏览器自动化脚本属于 AI 生成的爬取,LLM 写出代码,之后确定性地运行。只有当模型处于循环内部、每一轮都在选择下一个动作时,你手上的才是真正的智能体爬虫。

智能体爬虫如何工作?

无论用什么框架,每个智能体爬虫跑的都是同一个六阶段循环:

  1. 目标。 一个自然语言目标,外加可选的种子 URL。
  2. 规划。 模型决定第一个动作——通常是一次搜索或一次抓取。
  3. 执行。 它调用工具:抓取 URL、发起搜索、驱动浏览器、越过反爬墙。
  4. 观察。 工具返回内容,最好是干净的 markdown 而不是原始 HTML,因为每个字节都会落进上下文窗口。
  5. 评估。 目标达成了吗?如果没有,还缺什么,哪个动作能补上这个缺口?
  6. 输出。 返回文字,或者更好的做法:返回经你提供的 schema 校验过的 JSON。

第 2 到第 5 阶段不断重复。而这个循环默认是没有上界的——这是关于在生产环境运行它最重要的一件事。

失败模式并不是智能体卡住了,而是智能体一直保持高产:它不停地又找到一个看起来相关的页面,于是一边做着完全合理、但你并没要求的工作,一边烧掉你的预算。所以硬性限制要放在编排层,绝不能放在 prompt 里。CrawlForge 的 agent 工具在基础设施层强制执行其中三项,模型无从讨价还价:

限制数值存在的理由
maxSteps10(默认 5)限制推理迭代次数,让陷入困惑的循环转不下去
maxUrls20(默认 10)限制抓取页数,让广度无法失控膨胀
挂钟时间120 秒限制总运行时长,不管模型正在做什么

客客气气地要求模型"只看几个页面"不叫限制。由运行时强制执行的一个数字才叫限制。

智能体爬虫与传统爬虫的对比

两种方案谁也没有全面压倒对方。它们朝相反的方向失败,而这正是选择变得可操作的原因。

传统爬虫智能体爬虫
指令方式选择器与显式步骤自然语言目标
搭建时间每个站点数小时到数天几分钟
面对改版静默失效通常能自行适应
吞吐量每小时数千页每小时几十到几百页
单页成本几分之一美分数美分
确定性相同输入,相同输出相同输入,通常相同输出
失败方式什么都不返回,动静很大悄悄返回一个看似合理的东西
站点结构未知时需要先人工摸清自行探索

最后那行失败方式是最该记住的。失效的选择器会自己报警:行数掉到零,监控随即告警。被编造出来的字段不会。它类型正确、格式合理地抵达,而且是错的。任何为重要决策供数的智能体爬虫都需要下游校验,我们会在防线那一节回到这个话题。

构建智能体爬虫的三种方式

架构你要写的东西控制力适用场景
托管式智能体工具一个 prompt低调研、一次性提取、站点结构未知
MCP 工具带循环循环由你写,工具靠发现中需要自定义升级逻辑的生产管道
驱动浏览器的智能体prompt + 浏览器会话高登录态流程、多步表单、配置器

大多数团队应该从第一种起步,在需要自定义控制流时升级到第二种,只有当数据确实藏在普通抓取够不着的交互背后时才动用第三种。第三种也是慢得多、贵得多的一种——一个浏览器步骤耗时以秒计,而一次抓取以毫秒计。

中间那个选项正是 Model Context Protocol 体现价值的地方。由于 MCP 服务器暴露的是智能体在运行时就能读取的类型化工具 schema,你的循环不需要为每个 endpoint 手写包装层——智能体会自己发现 stealth_mode 的存在及其参数。我们在 MCP vs REST 爬取架构 中拆解了这套架构,并在 面向 AI 智能体的最佳网页爬取工具 中做了横向对比。

一次调用就能跑起来

最快的智能体爬虫是你不用写的那个。CrawlForge 把 agent 作为其 27 个 MCP 工具之一提供:它自行规划搜索、抓取并筛选页面、综合出答案——不需要你给 URL,上面那些硬性限制也已经就位。

接入 Claude Code、Claude Desktop 或 Cursor 后,自然语言版本就是全部的交互界面:

Text
Find the current pricing tiers for Vercel, Netlify, and Railway,
and tell me what each tier includes.

在底层,这会解析成一次工具调用:

Json
{
  "name": "agent",
  "arguments": {
    "prompt": "Find the current pricing tiers for Vercel, Netlify and Railway, and what each tier includes.",
    "maxUrls": 12,
    "maxSteps": 6
  }
}

如果答案是给人看的,返回文字没问题。但要接进数据管道,就传一个 schema,让智能体返回经过校验的 JSON——这是"一段你还得去解析的文字"和"一条你可以直接入库的记录"之间的差别:

Json
{
  "name": "agent",
  "arguments": {
    "prompt": "Extract every pricing tier for the three vendors below.",
    "urls": [
      "https://vercel.com/pricing",
      "https://www.netlify.com/pricing/",
      "https://railway.com/pricing"
    ],
    "maxUrls": 12,
    "schema": {
      "type": "object",
      "properties": {
        "tiers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "vendor": { "type": "string" },
              "tier": { "type": "string" },
              "monthlyUsd": { "type": "number" },
              "includes": { "type": "array", "items": { "type": "string" } }
            },
            "required": ["vendor", "tier"]
          }
        }
      }
    }
  }
}

有两个细节值得知道。当你已经清楚数据在哪时,种子 urls 能收窄搜索空间——智能体仍然自己决定怎么读这些页面,只是不用再猜从哪儿开始。另外,model: "pro" 会把默认循环换成完整的多源研究流程;它更费时间也更费 credits,所以当广度比延迟更重要时再用它。

一次 agent 调用是 8 credits,固定不变,读三个页面和读二十个页面都一样。

自己写智能体循环

当你需要自定义控制流时——自己的重试策略、自己的停止条件、写进自己存储的结果——就自己写循环,把 CrawlForge 当作工具层。这里真正关键的模式是升级阶梯:从便宜的开始,只在失败时才往上升。

Ts
const BASE = 'https://www.crawlforge.dev/api/v1/tools';

type Rung = { tool: string; credits: number; body: (url: string) => object };

// Cheapest first. Each rung costs more and handles more hostile pages.
const LADDER: Rung[] = [
  { tool: 'scrape', credits: 2, body: (url) => ({ url, formats: ['markdown'] }) },
  {
    tool: 'scrape_with_actions',
    credits: 5,
    body: (url) => ({ url, actions: [{ type: 'scroll', delay: 1500 }] }),
  },
  {
    tool: 'stealth_mode',
    credits: 5,
    body: (url) => ({ url, stealth_config: { anti_detection_level: 'advanced' } }),
  },
];

async function call(tool: string, body: object) {
  const res = await fetch(`${BASE}/${tool}`, {
    method: 'POST',
    headers: {
      'X-API-Key': process.env.CRAWLFORGE_API_KEY ?? '',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(body),
  });
  return res.json();
}

async function fetchWithEscalation(url: string) {
  let spent = 0;

  for (const rung of LADDER) {
    const result = await call(rung.tool, rung.body(url));
    spent += rung.credits;

    // A 200 with 200 characters of "enable JavaScript" is still a failure.
    const markdown = result?.data?.markdown ?? '';
    if (result.success && markdown.length > 500) {
      return { markdown, spent, via: rung.tool };
    }
  }

  return { markdown: null, spent, via: null };
}

markdown.length > 500 这个检查是大家最容易漏掉的一步,也正是大多数自制智能体爬虫悄悄崩掉的地方。反爬页面返回的是 HTTP 200。一个挑战拦截页是一次不含任何数据的成功响应,所以 res.ok 什么也说明不了——你必须先检查拿回来的内容,再判断这一级是否真的奏效。(关于升级机制所要面对的完整图景,参见用隐身模式绕过反爬检测。)

抓取层解决之后,智能体循环本身就很小了:把目标交给模型,让它挑 URL,把每个 URL 送进 fetchWithEscalation,在 schema 得到满足或步数预算耗尽时停止。让这一切负担得起的正是这道升级阶梯——大多数页面在第一级就以 2 credits 拿下,只有那些顽抗的才需要付 5 credits。

智能体爬虫为什么会在生产环境失败?

四种失败模式,大致按咬人的频率排列。

智能并不能击败指纹识别。 这是最让团队破财的一个误解。反爬保护评估的是 TLS 指纹、浏览器 API 的一致性、请求时序和请求头熵值,而 LLM 对这些信号一个都影响不到。驱动原生无头 Chromium 的智能体,被检出的概率和任何其他无头 Chromium 一样,有时还更高,因为智能体的浏览模式(直奔目标元素、不滚动、时序不规则)看起来比脚本更不像人。销售托管式爬取基础设施的 ScrapeWise 在其 2026 年 4 月的自测中,报告无辅助智能体的封禁率为 61–74%,测试对象是受 Cloudflare 和 Akamai 保护的电商站点。厂商自测的基准应当被视为方向性参考而非定论,但其机理是成立的:你为那些在 WAF 处就已阵亡、根本没走到提取环节的任务支付了推理费用。

规模一上来,经济账就反转了。 智能体爬取在几百页的量级上很便宜,到几百万页就是灾难,因为 LLM 的推理成本是按页计的,摊薄不了。一条构建一次、偶尔维护的确定性管道,在大批量场景下能把推理循环甩开一个数量级。这个交叉点比大多数团队预想的要低——见下面的成本表。

看似合理的错误答案。 一个找不到某字段的智能体,完全有能力从周围的文本里"推断"出一个来。输出符合 schema、类型正确,而且是假的。基于选择器的爬虫犯不了这种错,它只会什么都不返回。

延迟排除了高频场景。 推理会给每个页面增加数秒开销。任何需要在一分钟内、跨大量 URL 完成刷新的任务——实时价格监控、库存可用性——都属于确定性管道,智能体应当离关键路径越远越好。

还有第五点考量,它不算失败模式,而是版图的变化:越来越多的站点开始把智能体流量和爬虫流量区分对待。HUMAN Security 的 2026 State of AI Traffic 报告给出的 AI 智能体流量同比增幅为 7,851%,并指出智能体是在与站点交互,而爬虫只是读取。你可以预期,自己所处的访问政策环境还会继续变动。关于合规的部分,见我们的2026 年网页爬取是否合法。

智能体爬虫的成本是多少?

下面是诚实的算术,基于 CrawlForge 按次固定计价的 credits。美元数字按 Hobby 方案计算,即 19 美元换 5,000 credits(每 credit 0.0038 美元);在 Professional 方案(99 美元换 50,000)下,每个数字大约再降 48%。

任务方式Credits约合成本
回答一个调研问题1× agent(≤20 页)80.03 美元
多源深度报告1× deep_research100.04 美元
自建循环:搜索 + 8 个页面1× search_web + 8× scrape210.08 美元
同上,但撞了 2 次反爬墙+ 2× stealth_mode310.12 美元
抓取 100 个已知 URL100× scrape2000.76 美元
抓取 100 个已知 URL4× batch_scrape(每次 25 个)200.08 美元

最后两行要放在一起读,整篇文章的教训都在里面。输出完全相同,成本只有十分之一。一旦你已经知道要哪些 URL,智能体就是错的工具:同样是这 100 个页面,批量提取便宜 10 倍。

由此得出一条干净利落的规则:用智能体去弄清楚该抓什么,用批量工具去把它抓下来。 发现环节是推理能赚回本钱的地方,批量环节是推理让你破产的地方。先用 agent 找出 100 个相关 URL、再用 batch_scrape 拉取的一次运行花费 28 credits——大约十一美分——而纯智能体版本的同一份工作要花 40 credits,耗时还长得多。

什么时候不该用智能体爬虫?

只要符合下列任意一条,就干脆别用智能体:

  • 站点结构稳定且已知。 一个写一次、一年动两回的选择器,比每次运行都对同一套布局重新推理一遍更便宜也更快。
  • 你每天需要的页数超过几千。 推理成本和延迟都是线性增长,而且都摊薄不了。
  • 确定性是硬性要求。 财务报告、合规、任何要被审计的东西。"通常给出同一个答案"不是一个可接受的性质。
  • 刷新间隔短于一分钟。 改用 track_changes 配确定性 diff。
  • 输出会直接进入无人复核的自动决策。 倒不是绝对不行——但必须配上下面讲的那套校验。

最稳的生产模式不是"要智能体还是要脚本"。而是:让智能体跑一次去发现结构并生成一份确定性的提取规范,再由一个定时的确定性任务去执行它,只有当这个确定性任务开始失败时才重新唤起智能体。你为推理付费的时机是站点发生变化时,而不是每一行数据。

上线前的五道防线

  1. 在编排层强制执行预算。 步数、URL 数和挂钟时间,全都放在 prompt 之外。一个模型能自我说服绕开的限制不算限制。
  2. 永远传入输出 schema。 结构化输出把"它成功了吗?"变成一次可以自动化的校验。schema 校验失败就拒绝并重试,而不是把一段文字存下来。
  3. 用一个已知字段做校验。 在 schema 里放一个你能独立核实的值:产品 SKU、页面标题、货币符号。如果这个字段错了,就把整条记录丢掉——说明智能体读的根本不是你以为的那个东西。
  4. 记录智能体抓取过的每一个 URL。 当答案出错时,抓取轨迹是区分"页面有问题"和"推理有问题"的唯一途径。没有它,你调试的就是一个黑箱。
  5. 积极使用缓存。 智能体的多次运行之间会重复大量工作。按 URL 加上一个短 TTL 的缓存,通常能把迭代式调研的 credits 开销砍掉一半。

亲自试一试

跑通你的第一个智能体爬虫,不需要框架,不需要浏览器集群,也不需要签代理合同。CrawlForge 通过一条 MCP 连接把 agent 和另外 26 个工具一并暴露出来,安全上限由运行时强制执行,按次固定计价的 credits 让你在开跑之前就能算清一次运行的价钱。

免费从 1,000 credits 开始——足够跑 125 次智能体——大约两分钟就能接进 Claude、Cursor 或你自己的循环。

亲自试一试——无需注册

在 Playground 中运行 CrawlForge 的 28 个抓取与提取工具中的任意一个,然后免费开始,获取 1,000 credits。

1,000 免费 credits • 一次性 • 无需信用卡

标签

AI-agentsagent-scraperagentic-AIweb-scrapingMCPautomation

关于作者

C

CrawlForge Team

工程团队

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

及时获取最新洞察

将教程、产品更新与 Web 抓取技巧直接发送到你的收件箱。

拒绝垃圾邮件,随时可取消订阅。

付诸实践

在任意 URL 上测试 CrawlForge 的工具——免费,无需注册。

本页内容

Frequently Asked Questions

什么是智能体爬虫?+

智能体爬虫是由 LLM 推理循环而非写死脚本控制的网页爬虫。你用自然语言给它一个目标——「找出这个站点的所有定价档位」——它便自行规划抓取哪些页面,在页面返回 403 或出现意料之外的布局时自我调整,并在目标达成时停止。它不同于 AI 辅助爬取(LLM 只是清洗你的脚本已经提取好的数据),也不同于 AI 生成的爬取(LLM 写出选择器代码,之后确定性地运行)。只有当模型在每一轮都亲自选择下一个动作时,你手上的才是真正的智能体爬虫。

智能体爬虫和传统网页爬虫有什么区别?+

传统爬虫遵循明确指令——抓取这个 URL、读取这个 CSS 选择器——并在站点改版时静默失效。智能体爬虫追逐的是目标,通常能自行适应新布局。但在其他所有方面权衡都反了过来:传统爬虫每小时能处理数千页、单页成本仅几分之一美分,且相同输入必得相同输出;智能体爬虫每小时只有几十到几百页、单页成本以美分计,并且只是「通常」具有确定性。两者的失败方式也相反:失效的选择器什么都不返回且动静很大,而智能体可能悄悄返回一个看似合理、类型正确却是错误的答案。

智能体爬虫能绕过 Cloudflare 等反爬保护吗?+

靠聪明是绕不过去的。反爬保护评估的是 TLS 指纹、浏览器 API 一致性、请求时序和请求头熵值,而 LLM 对这些信号一个都影响不到。驱动原生无头浏览器的智能体,被检出的概率与任何其他无头浏览器相同,有时还更高,因为智能体的浏览模式(直奔目标元素、不滚动、时序不规则)看起来比脚本更不像人。越过反爬墙是基础设施问题:指纹随机化、住宅代理和行为模拟——这正是 CrawlForge 的 `stealth_mode` 这类工具在智能体底层提供的能力。

运行一个智能体爬虫要花多少钱?+

在 CrawlForge 上,一次 `agent` 调用固定为 8 credits,无论它读三个页面还是二十个;`deep_research` 则是 10 credits。按 Hobby 方案(19 美元换 5,000 credits)计算,每次智能体运行约 0.03 美元;Free 方案一次性发放的 1,000 credits 大约够跑 125 次。更值得关注的是规模上的对比:逐个抓取 100 个已知 URL 需要 200 credits,而用 `batch_scrape` 每次 25 个批量拉取只要 20 credits——输出完全相同,价格只有十分之一。用智能体去弄清楚该抓什么,再用批量工具去抓。

什么时候不该用智能体爬虫?+

当站点结构稳定且已知、当你每天需要的页数超过几千、当确定性是硬性要求(财务报告、合规、任何要被审计的东西)、当刷新间隔短于一分钟,或当输出会不经校验直接进入自动决策时,就别用智能体。这些场景下,确定性管道更便宜、更快,也可审计。最稳妥的混合做法是:让智能体跑一次去发现站点结构并生成提取规范,由定时的确定性任务执行该规范,只有当这个确定性任务开始失败时才重新唤起智能体。

构建智能体爬虫的最佳方式是什么?+

有三种架构。托管式智能体工具意味着你只写一个 prompt——上手最快、控制力最弱,适合调研和结构未知的站点。MCP 工具带循环意味着控制流由你编写,而智能体通过 Model Context Protocol 在运行时发现类型化工具,适合需要自定义重试与升级逻辑的生产管道。驱动浏览器的智能体则把一个实时浏览器会话交给模型,用于登录态流程和多步表单,但它是三者中最慢也最贵的。建议从托管工具起步,在需要自定义控制流时转向工具带循环,只有当数据确实藏在某个交互背后时才动用浏览器。

相关文章

2026 年面向 AI 智能体的最佳网页爬取工具
AI Engineering

2026 年面向 AI 智能体的最佳网页爬取工具

按智能体就绪程度排名的 2026 年面向 AI 智能体的最佳网页爬取工具:MCP 原生工具发现、类型化 schema 与高 token 效率的输出。逐项对比 CrawlForge、Firecrawl、Apify 等主流方案的能力与定价。

C
CrawlForge Team
|
6月9日
|
11 分钟
MCP server 中的 SSRF:抓取工具为何泄露云密钥
AI Engineering

MCP server 中的 SSRF:抓取工具为何泄露云密钥

2026 年 7 月的一项研究发现,91.8% 的受审 MCP server 没有认证。本文解释网页抓取服务器为何会泄露云凭据,以及如何加以阻止。

C
CrawlForge Team
|
8月13日
|
9 分钟
2026 年最佳网页抓取 MCP server(Top 8 排名)
Web Scraping

2026 年最佳网页抓取 MCP server(Top 8 排名)

一份坦率的排名榜单:2026 年最适合网页抓取的 8 款 MCP server——工具数量、反爬虫、免费额度与定价逐项对比。涵盖 CrawlForge、Firecrawl、Bright Data 等,并给出按使用场景选型的建议。

C
CrawlForge Team
|
6月9日
|
11 分钟

页脚

CrawlForge MCP

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

产品

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

资源

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

开发者

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

公司

  • 关于我们
  • 联系我们
  • 隐私政策
  • 服务条款
  • 可接受使用政策
  • Cookie

保持更新

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

基于 Next.js 和 MCP 协议构建

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