无代码 AI 抓取器的承诺很简单:用自然语言描述你想要的数据,工作流自动抓取页面、交给语言模型处理,然后返回干净的结构化行。无需维护选择器,无需盯着抓取脚本,更关键的是,不需要工程师来运行它。本指南将向你展示如何用 Crawlbase 构建这样的工具:一个在 n8n 中的可视化工作流,将 Crawlbase Web MCP(或 Crawling API)与 LLM 串联,使非工程师也能抓取和结构化真实网页数据。
所有组件都是现成的。n8n 提供拖放式画布,Crawlbase 处理实际从反爬页面获取数据这个难题,LLM 将混乱的 HTML 转化为你要求的 JSON 格式。你只需撰写一段简短的指令和少量配置。到最后,你将拥有一个任何团队成员都可以触发和复用的 Crawlbase 无代码 AI 抓取器。
无代码 AI 抓取器实际做什么
精确理解分工有所帮助,因为"AI"这个魔法词掩盖了三项截然不同的工作。检索是在面对 JavaScript、轮换代理和反爬挑战时获取渲染好的页面。解释是读取 HTML 并提取你关心的字段。编排是将这些步骤串联起来,使它们能在计划或触发下自动运行,而不需要每次手动干预。
在这个构建中,Crawlbase 负责检索,LLM 负责解释,n8n 负责编排。保持这些边界清晰是工作流可靠的关键。LLM 擅长读取内容,不擅长绕过封锁,因此你永远不要让它直接抓取 URL。Crawlbase 擅长抓取,对"理解"页面漠不关心,因此你永远不要让它"理解"页面。每个节点只做它最擅长的一件事。
你需要的工具
三个账号就够了,全部无需写代码即可配置。
- n8n 无代码/低代码工作流工具。使用 n8n Cloud 或自托管实例,两者提供相同的可视化画布。
- Crawlbase 账号 用于检索层。注册后,从控制台获取普通 token 和 JavaScript (JS) token。对于客户端渲染的页面,使用 JS token。
- LLM 提供商 如 Claude 或 GPT,通过 n8n 内置的 AI 节点或简单的 HTTP 节点接入。
你可以通过两种方式将 Crawlbase 连接到工作流。Web MCP 服务器将 Crawlbase 作为 AI agent 可以自主调用的工具集公开,当你的无代码工具有原生 MCP 或 AI-agent 节点时,这是最简洁的方式。如果你更倾向于明确控制每一步,Crawling API 是可以从任何 HTTP 节点调用的普通 HTTP 端点。主演练将使用 Crawling API 节点,因为它在每个版本的 n8n 中都能工作,然后再展示 MCP 服务器的接入位置。
MCP 服务器和 Crawling API 接入同一个检索引擎。MCP 专为 AI agent 设计,agent 自行决定调用哪个工具以及何时调用;Crawling API 是你逐步控制的直接请求。如果你的无代码工具有原生 MCP 节点,MCP 路径让 agent 自行抓取页面。如果没有,通过 HTTP 节点调用 Crawling API 可以得到同样的结果,无需额外设置。
工作流的结构
可视化流程在 n8n 画布上从左到右有四个节点。触发器启动运行,可以是手动触发、按计划,或来自 webhook。HTTP Request 节点调用 Crawlbase Crawling API 并获取渲染好的 HTML。AI/LLM 节点接收带有你提取指令的 HTML,并返回结构化 JSON。最后一个节点将结果写入有用的地方:Google Sheet、数据库、Slack 消息,或仅作为工作流输出。
整体就是这样。触发器之后的每一步都是你拖放到画布上并用线连接的节点。你唯一需要打字的是 URL、一个 token 和一句指令。
第一步:添加触发器
开始一个新工作流,放入触发器节点。首次测试时,Manual Trigger 最方便,因为你可以点击"Execute workflow"观察数据流过。一旦工作正常,将其换成 Schedule Trigger 以每天早晨运行抓取,或者换成 Webhook 以便其他系统触发它。切换触发器时下游内容不会改变,这正是将编排与检索分开的意义所在。
第二步:用 Crawlbase 获取页面
添加一个 HTTP Request 节点并连接到触发器。这个节点负责与 Crawling API 通信。将方法设置为 GET 并指向 Crawlbase 端点,传入你的 token、目标 URL 和用于客户端渲染页面的 JS 标志。在 n8n 中你将这些填入节点的字段,但本质上是一个看起来如下的单次请求。
https://api.crawlbase.com/?token=YOUR_CRAWLBASE_JS_TOKEN&javascript=true&ajax_wait=true&url=https%3A%2F%2Fwww.ebay.com%2Fstr%2Fbestsellingproducts
这里有三点重要内容。token 是你的 JS token,告诉 Crawlbase 在返回之前在真实浏览器中渲染页面。javascript=true 标志启用该渲染,ajax_wait=true 等待异步内容,确保延迟加载的列表出现在响应中。url 是你的目标,经过 URL 编码。Crawlbase 在住宅 IP 间轮换并在服务端处理 CAPTCHA,因此节点获得的是完整的 HTML,而不是空壳或封锁页面。
在 n8n 的 HTTP Request 节点中,将这些作为查询参数添加,而不是手动构建字符串。将 token 放入凭证中,使其永远不会以明文显示在画布上;将 url 设置为从触发器读取的表达式,这样你就有了一个可复用的获取步骤。
第三步:将 HTML 交给 LLM
接下来添加一个 AI 节点,可以是 n8n 原生的 AI Agent 节点或 Basic LLM Chain,并连接到 HTTP Request 节点。解释就在这里发生。你将上一步的 HTML 连同清晰的指令(描述你想要的字段和确切的 JSON 格式)输入节点。类似下面的提示词效果良好。
You are a data extraction assistant. From the HTML below, extract every product as an object with these keys: title (string), price (number), condition (string), seller (string), url (string). Return a JSON array only, no prose. If a field is missing, set it to null. If a product is out of stock, still include it and add availability: false. HTML: {{ $json.body }}
{{ $json.body }} 表达式将 Crawlbase 节点返回的 HTML 拉入提示词。指令完成其余工作:命名字段、固定类型,并告诉模型在现实情况不整洁时如何处理。由于 LLM 从语义上读取内容,即使 listing 之间的布局发生变化,它也能提取到价格和卖家详情,这正是基于选择器的抓取器所缺乏的弹性。
希望 AI agent 自行获取页面,而不是固定的 HTTP 步骤?Web MCP 服务器将 Crawlbase 作为你的 agent 可以调用的工具公开,让它自行决定何时抓取、何时重新渲染、何时翻页,全程通过轮换住宅 IP。将 MCP 服务器接入你的无代码工具的 agent 节点,检索层就成为模型的原生能力之一。从免费层开始,先对公开页面进行测试。
第四步:保存结构化输出
AI 节点现在输出干净的 JSON 数组。添加最后一个节点将其存储到可以使用的地方。Google Sheets 节点将每件商品追加为一行,Postgres 或 MySQL 节点写入表格,Slack 或 电子邮件节点可以发送摘要。由于数据已经结构化,将其映射到列是拖放操作:将每个 JSON 键连接到目标字段,然后运行工作流。
结果正是无代码 AI 抓取器所要实现的。非工程师点击"Execute workflow",干净的数据集出现在电子表格中,没有 HTML,没有选择器,没有脚本。
改用 Web MCP 服务器
如果你的无代码工具支持 MCP,可以将第 2 步和第 3 步合并为一步。不再使用固定的 HTTP 节点,而是给你的 AI agent 访问 MCP 服务器的权限,让它自行调用抓取工具。agent 读取你的指令("以 JSON 格式从这个 eBay 页面获取畅销商品"),调用 Crawlbase 工具获取渲染好的 HTML,然后在同一轮次中提取字段。连接是你工具的 MCP 设置中一小段 JSON 配置。
{ "mcpServers": { "crawlbase": { "command": "npx", "args": ["-y", "@crawlbase/mcp"], "env": { "CRAWLBASE_TOKEN": "YOUR_CRAWLBASE_JS_TOKEN" } } } }
注册服务器后,agent 将抓取视为内置能力。这是构建中最"无代码"的版本,因为检索和解释都在一个 AI 步骤中完成,而你在 n8n 中的编排方式与之前完全相同。有关这条路径的完整演练,请参阅如何将 n8n 与 Crawlbase Web MCP 连接;有关为什么向模型提供实时页面很重要的背景,请阅读Crawlbase MCP 介绍。
编写能产出干净数据的指令
工作流的质量取决于你给模型的指令。同样的好习惯在任何提示词中都适用,而且都是零成本的。
命名字段及其类型
模糊的"从这个页面获取数据"会产生不一致的输出。像第 3 步的提示词那样明确说明每个键及其类型,模型会严格遵循 schema。明确说明你期望的 JSON 格式,而不是希望模型猜测。
为缺失或异常值做计划
真实页面是杂乱的。告诉模型当字段缺失时该做什么("设为 null"),以及如何处理边缘情况("如果缺货,仍然包含该条目,并加上 availability: false")。这让每一行保持一致,省去之后的清理工作。
在存储之前验证 JSON
在目标节点之前添加一个小型验证步骤,可以是 n8n 内置的 JSON 解析,也可以是一个简短的 Function 节点,这样格式错误的响应会明显失败,而不是向你的表格写入垃圾数据。在 LLM 输出成功解析之前,将其视为不可信数据。
为什么这对非工程师来说优于手写抓取器
吸引力不仅仅是"更少代码",更在于谁能运行它。一旦工作流存在,营销人员或分析师可以更改目标 URL、调整提示词并重新运行,无需联系工程团队。模型的语义解读也意味着目标网站上的小布局变化不会像脆弱的 CSS 选择器那样导致运行失败。由于 Crawlbase 承担了整个检索负担,包括渲染 JavaScript、轮换住宅 IP 和清除 CAPTCHA,工作流在无人调整代理池的情况下依然保持健康。
对于比较方案成本的团队,AI 辅助抓取通常只需手工构建管道的一小部分成本,当考虑工程和维护时间后,许多团队报告一年内节省了约 70 至 90 个百分点。有关这种模式的适用场景,请参阅 AI 代理用例指南。如果你需要更低门槛的检索层,Smart AI Proxy 将任何请求通过相同的反封锁基础设施路由,Crawling API 则直接为常见网站类型返回预解析的 JSON,完全不需要 LLM。
核心要点
- 三项工作,三个层次。Crawlbase 负责检索,LLM 负责解释,n8n 负责编排。保持分离才能让工作流可靠。
- 构建只有四个节点。触发器、到 Crawling API 的 HTTP Request、AI 提取,然后是目标节点。你唯一需要打字的是 URL、token 和一句指令。
-
渲染页面需用 JS token。传入
javascript=true和ajax_wait=true,让 Crawlbase 返回完整的 HTML 而不是空壳。 - 提示词就是解析器。命名每个字段及其类型,并告诉模型如何处理缺失数据,以获得一致的 JSON 输出。
- MCP 将获取和提取合并为一步。如果你的工具有原生 agent 节点,Web MCP 服务器让模型在一步中自行抓取。
- 非工程师可以拥有它。工作流构建好后,任何人都可以更改 URL 或提示词并重新运行,无需维护选择器。
常见问题
构建这个工作流需要会写代码吗?
不需要。整个工作流通过在 n8n 画布上拖放节点并连接来组装。你撰写的唯一文字是目标 URL、你的 Crawlbase token(存储为凭证),以及给 LLM 的一段自然语言指令。没有需要编写或维护的抓取脚本和选择器。
应该使用 Web MCP 服务器还是 Crawling API?
两者都接入同一个 Crawlbase 检索引擎。当你希望每个步骤明确且在任何版本的工具中都能工作时,通过 HTTP 节点使用 Crawling API。当你的无代码工具有原生 AI-agent 或 MCP 节点时,使用 Web MCP 服务器,这样模型可以在一步中完成获取和提取,而不是两步。
为什么通过 Crawlbase 传递页面,而不是让 LLM 直接抓取 URL?
语言模型擅长读取内容,不擅长绕过封锁。大多数商业网站客户端渲染并对自动化流量发起挑战,因此直接抓取返回空壳或封锁页面。Crawlbase 在轮换住宅 IP 后面的真实浏览器中渲染页面并清除 CAPTCHA,使模型收到完整的 HTML 来处理。
如何从模型获得更可靠的结构化输出?
在提示词中要明确:命名每个字段及其类型,声明确切的 JSON 格式,并告诉模型如何处理缺失或异常值。然后在目标节点之前添加验证步骤,使格式错误的 JSON 明显失败而不是写入错误行。将模型输出视为不可信数据,直到它成功解析。
我可以按计划运行这个工作流,或者从其他系统触发它吗?
可以。将手动触发器换成 Schedule Trigger 按间隔运行抓取,或换成 Webhook 让其他应用启动它。下游内容不会改变,因为编排与检索和提取分离。这正是让非工程师无需接触获取或解析逻辑就能设置定期数据采集的原因。
这种方式可以采集哪些类型的数据?
任何工作流可以访问的公开网页数据:商品 listing 和价格、市场库存、目录条目,或来自多个来源的聚合内容。仅限公开页面,遵守每个网站的服务条款和速率预期,避免登录墙或个人数据。有关相关模式,请参阅 AI 代理用例指南。
大规模爬取任何站点,无需与基础设施对抗。
Crawlbase 负责处理代理、指纹和 CAPTCHA,让你的团队专注于交付数据流水线,而非维护爬取管道。1,000 次请求免费,无需信用卡。

