掌握 n8n 网页爬虫:自动化工作流实战

最后更新于 April 14, 2026

几个月前,我们的一位用户发来了一张 n8n 工作流截图:里面有 14 个节点、六七张便签,主题栏只写了两个字——“帮忙”。他照着一篇很火的 n8n 网页爬虫教程操作,在测试网站上跑通了一个很漂亮的 10 行演示,接着就想去抓取 200 个产品页面里的竞争对手价格。结果呢?分页循环崩了,403 错误铺天盖地,定时任务还在第一次周二之后就悄无声息地停掉了。

从演示到真正落地,这道鸿沟,正是大多数 n8n 爬虫项目“死在路上”的地方。我花了很多年做 以及自动化相关工作,可以很明确地说:真正难的往往不是“抓取”本身,而是第一次成功抓取之后的所有环节。分页、定时、反爬处理、数据清洗、导出,以及最头疼的——网站这季度第三次改版后,你还得继续维护。本文将带你完整走一遍流程:从第一个 HTTP Request 节点开始,一直讲到可循环运行、可投入生产的 n8n 网页爬虫工作流。至于 n8n 的自建方案什么时候会碰壁,我也会告诉你:在哪些场景里,像 Thunderbit 这样的 AI 工具可以帮你省下好几个小时,甚至好几天的折腾时间。

什么是 n8n 网页爬虫?为什么大多数教程都只讲了皮毛

n8n 是一个开源、低代码的工作流自动化平台。你可以把它理解成一块可视化画布:把一个个“节点”连接起来,每个节点负责一项具体任务(抓取网页、解析 HTML、发送 Slack 消息、写入 Google Sheets),然后把它们串成自动化流程。它不要求你写大量代码,但在需要的时候,你也可以直接插入 JavaScript。

所谓“n8n 网页爬虫”,就是借助 n8n 自带的 HTTP Request 和 HTML 节点(再加上一些社区节点),在自动化工作流中完成网页数据抓取、解析和处理。核心其实就两步:抓取(HTTP Request 节点从 URL 获取原始 HTML)和 解析(HTML 节点通过 CSS 选择器提取你关心的数据,比如商品名称、价格、邮箱等等)。

这个平台体量很大:截至 2026 年 4 月,n8n 在 ,拥有 23 万以上活跃用户、9,166+ 社区工作流模板,而且几乎每周都会发布一个新的小版本。它还在 2025 年 3 月完成了 。势头非常猛。

但有一个大家很少提到的断层。dev.to 上最热门的 n8n 爬虫教程之一(Lakshay Nasa 发表,隶属 “Extract by Zyte” 组织)曾承诺在“第二部分”讲分页。第二部分确实来了,而作者自己的结论是:“n8n 在 HTTP Request 节点的 Options 里提供了默认分页模式,听起来很方便,但根据我的经验,它在常见网页爬虫场景里并不稳定。” 最终作者还是把分页交给了一个付费第三方 API。与此同时,n8n 论坛用户也一直在提“分页、限流、登录”这些问题,作为 n8n 爬虫“很容易变复杂”的转折点。本文就是为了填补这个缺口而写的。

为什么 n8n 网页爬虫对销售、运营和电商团队很重要

n8n 网页爬虫不是开发者的个人爱好,而是一个真正的商业工具。2025 年全球网页爬虫市场规模大约在 ,预计到 2030 年将增长到 。仅动态定价这一项,就已经被大约 使用,而 现在都依赖另类数据,其中很大一部分来自网页抓取。麦肯锡指出,采用动态定价后,企业可实现

n8n 真正强的地方,不只是“拿到数据”,而是“拿到数据之后做什么”。它可以把爬虫与后续动作串成一个工作流:更新 CRM、发送 Slack 提醒、导出表格、做 AI 分析,全都放在一起跑。

使用场景受益对象抓取内容业务结果
潜客开发销售团队企业名录、联系页面为 CRM 补充合格线索
竞品价格监控电商运营产品列表页实时调整价格
房产房源追踪房产经纪人Zillow、Realtor、本地 MLS 网站比竞争对手更早发现新房源
市场调研市场团队评测网站、论坛、新闻识别趋势与客户情绪
供应商/SKU 库存监控供应链运营供应商产品页避免缺货,优化采购

数据也说明了 ROI 是真实存在的: 计划在 2025 年增加 AI 投入,而自动化培育线索在 9 个月内被证明可以 。如果你的团队还在把网站内容复制到表格里,那你其实一直在把钱留在桌子上。

n8n 网页爬虫工具箱:核心节点和可用方案

在开始搭建之前,你得先知道工具箱里有哪些东西。下面是 n8n 网页爬虫最常用的核心节点:

  • HTTP Request 节点:从任意 URL 获取原始 HTML。它像浏览器发起页面请求,但返回的是代码而不是渲染后的页面。支持 GET/POST、请求头、批量处理,以及(理论上)内置分页。
  • HTML 节点(原名“HTML Extract”):使用 CSS 选择器解析 HTML,提取特定数据,比如标题、价格、链接、图片,等等。
  • Code 节点:允许你写 JavaScript 片段,用于数据清洗、URL 规范化、去重和自定义逻辑。
  • Edit Fields(Set)节点:重组或重命名数据字段,供后续节点使用。
  • Split Out 节点:将数组拆分成单独条目进行处理。
  • Convert to File 节点:把结构化数据导出为 CSV、JSON 等格式。
  • Loop Over Items 节点:遍历列表(分页时非常关键,后面会详细讲)。
  • Schedule Trigger:按 cron 定时触发工作流。
  • Error Trigger:当工作流失败时向你发出提醒(生产环境必备)。

如果是更高级的抓取场景——例如 JavaScript 渲染页面或强反爬网站——你还需要用社区节点:

方案最适合技能要求能处理 JS 渲染页面反爬处理
n8n HTTP Request + HTML 节点静态网站、API初级到中级需手动处理(请求头、代理)
n8n + ScrapeNinja/Firecrawl 社区节点动态网站/受保护站点中级内置支持(代理轮换、验证码)
n8n + 无头浏览器(Puppeteer)复杂 JS 交互高级部分支持(取决于配置)
Thunderbit(AI 网页爬虫)任意网站、非技术用户初级是(浏览器或云端模式)内置支持(继承浏览器会话或云端处理)

截至 v2.15.1,n8n 没有原生的无头浏览器节点。任何需要 JS 渲染的抓取,都必须依赖社区节点或外部 API。

顺便说一句,Thunderbit 是我们团队做的一款 AI 驱动 。你只需要点一下“AI Suggest Fields”,再点“Scrape”,就能拿到结构化数据——不用写 CSS 选择器,不用配置节点,也不用后期维护。接下来我会在整篇文章中告诉你:它适合放在哪里,以及什么时候 n8n 反而更合适。

分步实战:从零搭建你的第一个 n8n 网页爬虫工作流

工具箱讲完了,下面我们来从零搭一个能跑的 n8n 网页爬虫。这里我会用一个产品列表页做示例——这类页面最适合做价格监控或竞品调研。

开始前先看:

  • 难度: 初级到中级
  • 预计时间: 约 20–30 分钟
  • 你需要准备: n8n(自托管或云端)、目标 URL、Chrome 浏览器(用于查找 CSS 选择器)

第 1 步:创建新工作流并添加手动触发器

打开 n8n,点击“New Workflow”,给它起个清楚的名字,比如“Competitor Price Scraper”。然后拖入一个 Manual Trigger 节点。(后面我们会再升级成定时触发。)

此时你的画布上应该已经出现一个节点,点击“Test Workflow”就可以触发。

第 2 步:使用 HTTP Request 节点抓取页面

添加一个 HTTP Request 节点,并连接到 Manual Trigger。把方法设为 GET,输入你的目标 URL(例如 https://example.com/products)。

接下来是很多教程都会跳过的关键一步:添加一个真实的 User-Agent 请求头。 默认情况下,n8n 会发送 axios/xx 作为 User-Agent——这在机器人识别系统里一眼就能看出来。打开“Headers”,添加以下内容:

请求头名称
User-AgentMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36
Accepttext/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

如果你要抓取多个 URL,请开启 Batching(在 Options 里),并把每次请求之间的等待时间设为 1–3 秒。这样可以降低触发限流的概率。

运行这个节点。你应该能在输出面板里看到原始 HTML。

第 3 步:用 HTML 节点解析数据

HTML 节点连接到 HTTP Request 的输出。把操作设为 Extract HTML Content

想找到正确的 CSS 选择器,可以在 Chrome 中打开目标页面,右键点击你想抓取的内容(比如商品标题),然后选择“Inspect”。在 Elements 面板里,右键高亮的 HTML 元素,选择“Copy → Copy selector”。

把提取项配置成这样:

键名CSS 选择器返回值
product_name.product-title文本
price.price-current文本
url.product-link属性:href

执行该节点。你应该能在输出中看到结构化表格——产品名、价格和 URL。

第 4 步:用 Code 节点清洗和规范化数据

原始抓取的数据通常很乱。价格可能带有多余空格,URL 可能是相对路径,文本字段末尾也可能有换行。添加一个 Code 节点,并连接到 HTML 节点。

下面是一段简单的 JavaScript,用来整理数据:

1return items.map(item => {
2  const d = item.json;
3  return {
4    json: {
5      product_name: (d.product_name || '').trim(),
6      price: parseFloat((d.price || '').replace(/[^0-9.]/g, '')),
7      url: d.url && d.url.startsWith('http') ? d.url : `https://example.com${d.url}`
8    }
9  };
10});

这一步对生产级数据非常重要。省略它,你的表格里就会充满像“$ 29.99\n”这样的脏数据。

第 5 步:导出到 Google Sheets、Airtable 或 CSV

连接一个 Google Sheets 节点(也可以是 Airtable,或者 Convert to File 导出 CSV)。完成 Google 账户授权后,选择你的表格和工作表,再把 Code 节点输出字段映射到对应列头。

运行完整工作流。你应该会看到干净、结构化的数据进入你的表格。

顺带一提: 到 Google Sheets、Airtable、Notion 和 Excel,而且完全不用配置节点。如果你不需要整条自动化链,只是想快速拿数据,这其实是个很实用的捷径。

每一篇 n8n 网页爬虫教程都会跳过的部分:完整分页工作流

分页是 n8n 爬虫内容里的第一大缺口,也是 n8n 社区论坛里第一大吐槽来源。

分页主要有两种模式:

  1. 点击式 / URL 递增分页 —— 例如 ?page=1?page=2 这样的页面。
  2. 无限滚动 —— 页面会随着向下滚动不断加载内容(比如 Twitter、Instagram 或很多现代产品目录)。

在 n8n 中实现点击式分页(通过 Loop 节点递增 URL)

HTTP Request 节点 Options 菜单里的内置 Pagination 选项看起来很方便,但实际并不稳定。最热门的 n8n 爬虫教程作者之一(Lakshay Nasa)亲自试过,并写道:“按我的经验,它的表现并不可靠。” 论坛用户也经常反馈它会或者根本识别不到最后一页。

n8n-pagination-chain-workflow.webp

更可靠的方法是:先在 Code 节点里显式生成 URL 列表,再用 Loop Over Items 逐条遍历。

做法如下:

  1. 添加一个 Code 节点,生成分页 URL:
1const base = 'https://example.com/products';
2const totalPages = 10; // 也可以动态检测
3return Array.from({length: totalPages}, (_, i) => ({
4  json: { url: `${base}?page=${i + 1}` }
5}));
  1. 连接 Loop Over Items 节点 来遍历列表。
  2. 在循环内部 添加你的 HTTP Request 节点(把 URL 设为 {{ $json.url }}),然后接 HTML 节点进行解析。
  3. 在循环中加入 Wait 节点(1–3 秒,最好随机化),避免触发 429 限流。
  4. 循环结束后,汇总结果并导出到 Google Sheets 或 CSV。

完整链路是:Code(生成 URL)→ Loop Over Items → HTTP Request → HTML → Wait →(回到循环)→ 汇总 → 导出。

有一个坑需要注意:Loop Over Items 节点有一个,就是嵌套循环时会静默跳过部分条目。如果你一边分页,一边抓取子页面,一定要仔细测试——“done” 的数量未必和你的输入数量一致。

无限滚动分页:为什么 n8n 内置节点很吃力

无限滚动页面是靠 JavaScript 在你滚动时加载内容。HTTP Request 节点只能拿到初始 HTML,无法执行 JavaScript,也无法触发滚动事件。你只有两个选择:

  • 使用无头浏览器社区节点(例如 ),让页面渲染出来并模拟滚动。
  • 使用抓取 API(如 ScrapeNinja、Firecrawl、ZenRows),并开启 JS 渲染。

这两种方案都会显著增加复杂度。通常每个网站都要花 30–60 分钟甚至更久做配置,而且后续还要持续维护。

Thunderbit 如何在无需配置的情况下处理分页

虽然我有偏向,但两者的差异确实非常明显:

能力n8n(自建工作流)Thunderbit
点击式分页需要手动配置循环节点、递增 URL自动识别并跟随分页
无限滚动页面需要无头浏览器 + 社区节点内置支持,无需配置
搭建耗时每个网站 30–60 分钟2 次点击
每批可处理页面数串行(一次一页)同时处理 50 页(云端抓取)

如果你要抓 10 个分页列表中的 200 个产品页面,n8n 往往会占掉你一个完整下午。Thunderbit 大概两分钟就能搞定。这不是在贬低 n8n,只是它更适合别的任务。

设好就忘:用 Cron 触发的 n8n 网页爬虫流水线

一次性抓取当然有用,但 n8n 网页爬虫真正厉害的地方,是可以做成周期性的自动采集。令人意外的是,几乎没有 n8n 爬虫教程会讲 Schedule Trigger,尽管它其实是社区里最常被要求的功能之一。

搭建一个每日价格监控流程

把 Manual Trigger 换成 Schedule Trigger 节点。你可以在 n8n UI 里直接设置(比如“每天早上 8:00”),也可以写 cron 表达式(0 8 * * *)。

完整工作流链路:

  1. Schedule Trigger(每天早上 8 点)
  2. Code 节点(生成分页 URL)
  3. Loop Over Items → HTTP Request → HTML → Wait(抓完所有页面)
  4. Code 节点(清洗数据、规范价格)
  5. Google Sheets(追加新行)
  6. IF 节点(是否有价格低于阈值?)
  7. Slack(如果有,发送提醒)

你还应该在旁边单独配置一个 Error Trigger 工作流,一旦执行失败就发 Slack 通知。不然的话,等选择器失效时(它们迟早会失效),你可能要三周后看到报表空了才知道出问题。

有两个不太明显但非常重要的要求:

  • n8n 必须 24/7 运行。 如果你把自托管部署在笔记本上,合上盖子之后定时器就不会触发。请使用服务器、Docker,或者 n8n Cloud。
  • 每次编辑工作流后,都要先关闭再重新开启。 n8n Cloud 有一个,就是编辑后调度器会悄悄失效,而且不会报错。

搭建一个每周线索提取流程

模式一样,只是目标不同:Schedule Trigger(每周一上午 9 点)→ HTTP Request(企业目录)→ HTML(提取名称、电话、邮箱)→ Code(去重、清洗格式)→ 推送到 Airtable 或 HubSpot。

n8n-vs-thunderbit-scheduled-scraping.webp

这里最大的隐性成本,其实是维护。目录网站一旦改版,你的 CSS 选择器就会失效,工作流也可能静默失败。HasData 估算,基于选择器的管道,每年应该预留初始构建时间的 用于持续维护。当你要维护大约 20 个站点时,开销就会非常明显。

Thunderbit 的定时爬虫:无需代码的替代方案

Thunderbit 的 Scheduled Scraper 允许你用自然语言描述频率(例如“每周一上午 9 点”),输入 URL,然后点击“Schedule”。它在云端运行——无需主机、无需 cron 表达式,也不会悄悄失效。

| 维度 | n8n 定时工作流 | Thunderbit 定时爬虫 | |---|---|---|---| | 定时设置 | cron 表达式或 n8n 调度界面 | 自然语言描述即可 | | 数据清洗 | 需要手动 Code 节点 | AI 自动清洗/标注/翻译 | | 导出目标 | 需要集成节点 | Google Sheets、Airtable、Notion、Excel(免费) | | 托管要求 | 自托管或 n8n Cloud | 不需要——在云端运行 | | 网站改版后的维护 | 选择器失效,需要手动修复 | AI 每次都会重新读取页面 |

最后一行最关键。论坛用户说得很直白:“大多数方案在网站改版之前都没问题。” Thunderbit 的 AI 方案避免了这个痛点,因为它不依赖固定的 CSS 选择器。

当你的 n8n 网页爬虫被封时:反爬排查指南

被封是继分页之后的第二大痛点。传统建议——“加个 User-Agent 请求头”——就像拿纱窗去挡飓风,作用有限。

根据 Imperva 2025 Bad Bot 报告,,其中 是恶意流量。Cloudflare、Akamai、DataDome、HUMAN、PerimeterX 等反爬厂商因此引入了 TLS 指纹识别、JavaScript 验证和行为分析。n8n 的 HTTP Request 节点底层使用 Axios 库,会生成一种与真实浏览器不同、而且很容易识别的 TLS 指纹。单纯改 User-Agent 没用——在 HTTP 请求头被读取之前,JA3/JA4 指纹就已经把你暴露了。

反爬处理决策树

下面是一个更系统的排查框架,而不是简单地“加个 User-Agent”:

请求被拦?

  • 403 Forbidden → 添加 User-Agent + Accept 请求头(见上面的第 2 步)→ 还是被拦?
    • → 加住宅代理轮换 → 还是被拦?
      • → 改用抓取 API(ScrapeNinja、Firecrawl、ZenRows)或无头浏览器社区节点
      • → 继续
    • → 继续
  • 出现验证码 → 使用带验证码解决能力的抓取 API(例如
  • 返回空内容(JS 渲染页面) → 使用无头浏览器社区节点,或者开启 JS 渲染的抓取 API
  • 被限流(429 错误) → 在 HTTP Request 节点里启用批量处理,把批次间隔设为 2–5 秒,并降低并发数

还有一个坑:n8n 有一个,会导致 HTTP Request 节点无法通过 HTTP 代理正确转发 HTTPS。即使同一容器里的 curl 正常,Axios 也可能在 TLS 握手时失败。如果你用了代理,却遇到莫名其妙的连接错误,这很可能就是原因。

为什么 Thunderbit 能绕开大多数反爬问题

Thunderbit 提供两种抓取模式:

  • 浏览器抓取:在你真实的 Chrome 浏览器中运行,自动继承你的会话 Cookie、登录状态和浏览器指纹。这样可以绕过大多数会拦截服务器请求的反爬措施,因为这个请求本身就是一个真实浏览器发出的。
  • 云端抓取:对于公开网站,Thunderbit 的云端模式可以大规模处理反爬问题——

如果你花在和 Cloudflare 斗法上的时间,比分析数据还多,那这就是一个更实际的替代方案。

诚实判断:n8n 网页爬虫什么时候好用,什么时候该换工具

n8n 是个很强的平台。但它并不适合所有抓取任务,而大多数竞品文章都不会老实说这一点。论坛里用户甚至会直接问:“用 n8n 搭一个网页爬虫难不难?” 以及 “哪个抓取工具和 n8n 搭配最好?”

n8n 网页爬虫的优势场景

  • 多步骤工作流,把抓取和后续处理结合起来——CRM 更新、Slack 提醒、AI 分析、写入数据库。这是 n8n 的核心优势。
  • 抓取只是整条自动化链中的一个节点——抓取 → 补充信息 → 过滤 → 推送到 CRM。
  • 技术用户,能够接受 CSS 选择器和基于节点的逻辑。
  • 在抓取和存储之间需要自定义数据转换 的场景。

n8n 网页爬虫最让人头疼的场景

  • 非技术用户,只是想尽快拿到数据。节点配置、CSS 选择器查找和调试循环,对业务用户来说门槛很高。
  • 反爬很强的网站。 代理和 API 插件会增加成本和复杂度。
  • 网站改版后的维护。 CSS 选择器失效后,工作流可能静默失败。
  • 批量抓取很多不同类型的网站。 每个站都要单独配置选择器。
  • 子页面补充信息。 需要在 n8n 里额外搭建子工作流。

并排对比:n8n vs. Thunderbit vs. Python 脚本

因素n8n 自建爬虫ThunderbitPython 脚本
需要的技术能力中级(节点 + CSS 选择器)不需要(AI 自动建议字段)高(编程)
新站点搭建时间30–90 分钟约 2 分钟1–4 小时
反爬处理手动(请求头、代理、API)内置(浏览器/云端模式)手动(库)
网站变化后的维护手动更新选择器几乎不用——AI 自动适应手动改代码
多步骤工作流支持非常强(核心优势)可导出到 Sheets/Airtable/Notion需要自定义代码
大规模成本n8n 托管 + 代理/API 成本按点数计费(每行约 1 点)服务器 + 代理成本
子页面补充手动——需要单独做子工作流一键抓取子页面需要自定义脚本

结论很简单:当抓取只是复杂多步骤自动化链中的一环时,用 n8n。 当你只想快速拿数据、不想搭工作流时,用 Thunderbit。 当你需要最高级别控制、而且有开发资源时,用 Python。它们不是竞争关系,而是互补关系。

n8n-thunderbit-python-comparison.webp

你可以直接照搬的真实 n8n 网页爬虫工作流

论坛里总有人问:“有人把这些串成多步骤工作流了吗?” 下面给你三个具体方案——都是你今天就能搭出来的真实节点序列。

工作流 1:电商竞品价格监控

目标: 每天跟踪竞品价格,并在降价时接收提醒。

节点链路: Schedule Trigger(每天早上 8 点)→ Code(生成分页 URL)→ Loop Over Items → HTTP Request → HTML(提取产品名、价格、库存)→ Wait(2 秒)→(回到循环)→ Code(清洗数据、规范价格)→ Google Sheets(追加行)→ IF(价格低于阈值?)→ Slack(发送提醒)

复杂度: 8–10 个节点,每个竞品站点搭建需要 30–60 分钟。

Thunderbit 快捷方案: Thunderbit 的 Scheduled Scraper + 可以在几分钟内实现类似效果,并且可以免费导出到 Google Sheets。

工作流 2:销售线索生成流程

目标: 每周抓取一个企业名录,清洗并分类线索,然后推送到 CRM。

节点链路: Schedule Trigger(每周一上午 9 点)→ HTTP Request(名录列表页)→ HTML(提取名称、电话、邮箱、地址)→ Code(去重、清洗格式)→ OpenAI/Gemini 节点(按行业分类)→ HubSpot 节点(创建联系人)

注意: n8n 自带 ,做 CRM 推送很方便。但抓取和清洗步骤仍然需要你手动写 CSS 选择器。

Thunderbit 快捷方案: Thunderbit 免费的 和电话号码提取器,只需 1 次点击就能拿到联系信息,不需要搭工作流。它的 AI 标注功能还能在提取时直接给线索分类。对于不需要完整自动化链的用户,完全可以跳过 n8n 搭建。

工作流 3:房产新房源追踪

目标: 每周在 Zillow 或 Realtor.com 上发现新房源,并发送摘要邮件。

节点链路: Schedule Trigger(每周)→ HTTP Request(房源列表页)→ HTML(提取地址、价格、卧室数、链接)→ Code(清洗数据)→ Google Sheets(追加)→ Code(与上周数据对比,标记新房源)→ IF(发现新房源?)→ Gmail/SendGrid(发送摘要)

注意: Thunderbit 为 Zillow 这类网站提供了——不需要 CSS 选择器。需要完整自动化链(抓取 → 对比 → 提醒)的用户更适合 n8n;只想拿房源数据的用户,用 Thunderbit 更省事。

如果你还想找更多工作流灵感,n8n 的社区库里还有 ,以及

让你的 n8n 网页爬虫稳定运行的小技巧

生产级爬虫是“20% 搭建,80% 维护”。

使用批量处理和延迟来避免限流

在 HTTP Request 节点中启用 batching,并把每批之间的等待时间设为 1–3 秒。并发请求是最快被封 IP 的方式。现在多一点耐心,后面能少很多痛苦。

监控工作流执行,防止静默失败

使用 n8n 的 Executions 选项卡检查失败记录。抓取结果也可能因为网站改版而悄悄变空——工作流表面上“成功”了,但你的表格全是空白。

建议再配一个 Error Trigger 工作流,只要执行失败就发 Slack 或邮件提醒。生产流水线里,这一步不能省。

把 CSS 选择器放到外部,方便更新

把 CSS 选择器保存在 Google Sheet 或 n8n 环境变量里,这样你就不需要每次改工作流本身。网站结构一变,你只要改一个地方就行。

知道什么时候该换成 AI 爬虫

如果你发现自己总是在更新 CSS 选择器、和反爬机制较劲,或者花在维护爬虫上的时间比使用数据还多,那么可以考虑像 这样的 AI 工具。它每次都会重新读取页面,并自动适应变化。 其实很适合很多团队:Thunderbit 负责脆弱的提取层(也就是网站每次改一个 <div> 就容易坏的那部分),导出到 Google Sheets 或 Airtable;然后 n8n 再通过原生的 Sheets/Airtable 触发器接手后续编排——CRM 更新、提醒、条件分支、多系统分发。

收尾:搭建真正适合你团队的流程

当网页爬虫只是更大自动化流程中的一步时,n8n 非常强大。但它需要技术配置、持续维护,以及对分页、反爬和定时设置的耐心。本指南已经带你完整走过了整个流程:你的第一个工作流、分页(每篇教程都会跳过的部分)、定时任务、反爬排查、n8n 适用性的诚实判断,以及可以直接照搬的真实工作流。

我通常会这样理解它:

  • 用 n8n,当抓取只是复杂多步骤自动化链中的一环——比如 CRM 更新、Slack 提醒、AI 补充信息、条件路由。
  • ,当你只想快速拿到数据,而不想搭工作流——AI 会帮你自动建议字段、处理分页、应对反爬并完成导出,只需 2 次点击。
  • 用 Python,当你需要最高级别的控制,并且手上有开发资源。

说实话,对很多团队来说,最好的方案其实是两者结合:Thunderbit 负责提取,n8n 负责编排。如果你想看看 AI 网页爬虫和你的 n8n 工作流到底差在哪, 可以让你先小规模试用,而 几秒钟就能装好。想看视频演示和工作流灵感,可以去看看

试用 Thunderbit 进行 AI 网页爬虫

常见问题

n8n 可以抓取 JavaScript 很重的网站吗?

单靠内置的 HTTP Request 节点不行。HTTP Request 节点只能获取原始 HTML,无法执行 JavaScript。对于 JS 渲染页面,你需要像 这样的社区节点,或者接入支持服务器端渲染 JavaScript 的抓取 API(如 ScrapeNinja、Firecrawl)。Thunderbit 在浏览器抓取和云端抓取模式下都能原生处理这类网站。

n8n 网页爬虫是免费的吗?

n8n 的自托管版本是免费且开源的。n8n Cloud 以前有免费方案,但截至 2026 年 4 月,它只提供 14 天试用;之后套餐从每月 24 美元起,包含 2,500 次执行。抓取受保护网站时,你也可能需要付费代理服务(住宅代理约每 GB 5–15 美元)或抓取 API(按量每月 49–200 美元以上)。

n8n 网页爬虫和 Thunderbit 怎么比?

如果你做的是多步骤自动化,而抓取只是其中一环(比如抓取 → 补充信息 → 过滤 → 推送到 CRM → Slack 提醒),n8n 更合适。Thunderbit 更适合快速、无代码的数据提取,具备 AI 字段识别、自动分页和站点变化后的零维护优势。很多团队会两者一起用——Thunderbit 负责提取,n8n 负责编排。

用 n8n 可以抓取需要登录的网站吗?

可以,但你需要在 HTTP Request 节点里配置 Cookie 或会话令牌,这种方式维护起来比较麻烦。Thunderbit 的浏览器抓取模式会自动继承用户已登录的 Chrome 会话——只要你在浏览器里能看到,Thunderbit 就能抓。

如果我的 n8n 爬虫突然不再返回数据,我该怎么办?

先去 n8n 的 Executions 选项卡检查错误。最常见的原因是网站改版,导致你的 CSS 选择器失效——工作流表面上“成功”,但返回的是空字段。用 Chrome 的 Inspect 工具重新验证选择器,在工作流里(或者你外部保存的选择器表里)更新它们,然后重新测试。如果你遇到的是反爬封禁,按照本文中的排查决策树处理即可。若想长期稳定,建议考虑像 Thunderbit 这样的 AI 爬虫,它能自动适应页面变化。

了解更多

Shuai Guan
Shuai Guan
Co-founder/CEO @ Thunderbit. Passionate about cross section of AI and Automation. He's a big advocate of automation and loves making it more accessible to everyone. Beyond tech, he channels his creativity through a passion for photography, capturing stories one picture at a time.
目录

试试 Thunderbit

只需 2 次点击即可抓取线索和其他数据。AI 驱动。

获取 Thunderbit 免费使用
使用 AI 提取数据
轻松将数据转移到 Google Sheets、Airtable 或 Notion
PRODUCT HUNT#1 Product of the Week