精通 n8n 网页爬虫:自动化工作流实战

最后更新于 April 15, 2026

几个月前,我们的一位用户发来一张 n8n 工作流截图:14 个节点、半打便签,邮件标题只有两个字:“救命”。他们照着一篇热门的 n8n 网页爬虫教程做,先在测试站点上跑通了一个漂亮的 10 行演示,然后想去抓 200 个商品页面上的真实竞品价格。结果呢?分页循环崩了,403 错误满屏,静默运行的定时器在第一个周二之后就再也没触发过。

从演示到真正上线之间的这道鸿沟,正是大多数 n8n 爬虫项目夭折的地方。我花了很多年做 和自动化相关工作,可以很负责地说:真正难的往往不是抓取本身,而是第一次抓取成功之后的所有环节。分页、定时、反爬处理、数据清洗、导出,以及最麻烦的那部分——网站版式第三次改动时,你还得持续维护。这篇指南会带你走完整条链路,从第一个 HTTP Request 节点开始,一直到可周期运行、可投入生产的 n8n 网页爬虫工作流。至于当 n8n 的 DIY 方案碰到瓶颈时,我也会告诉你,像 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 年大约规模为 10–13 亿美元,预计到 2030 年将增长到 20–23 亿美元。单是动态定价,就已经被约 使用,而 现在都依赖替代数据,其中很大一部分来自网页抓取。麦肯锡报告指出,采用动态定价的企业可实现

n8n 真正厉害的地方,不只是“把数据抓下来”,而是“抓完之后做什么”。它能把爬取和后续动作串联起来——CRM 更新、Slack 预警、表格导出、AI 分析——全部放进一个工作流里完成。

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

数据也说明了投资回报是真实存在的: 计划在 2025 年加大 AI 投入,而自动化线索培育已被证明能在九个月内将 。如果你的团队还在把网页内容手动复制到表格里,那你其实已经在漏钱了。

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,请在 Options 里启用 Batching,并把每次请求之间的等待时间设为 1–3 秒。这样能降低触发限流的概率。

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

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

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

要找到正确的 CSS 选择器,先在 Chrome 里打开目标页面,右键点击你想抓的数据,比如商品标题,然后选择“检查”。在 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 中的点击式分页(用循环节点实现 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 节点存在一个,在嵌套循环场景下会悄悄跳过某些条目。如果你既要分页,又要抓子页面做补充信息,一定要认真测试——“完成”数量可能和输入数量对不上。

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

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

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

这两种方式都会明显增加复杂度。每个站点的配置时间通常要 30–60 分钟甚至更久,而且后续还要持续维护。

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

虽然我有偏向,但对比非常明显:

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

如果你要抓的是 10 个分页列表里的 200 个商品页,n8n 可能会占掉你一整个下午。Thunderbit 可能两分钟就能搞定。这不是在否定 n8n,只是它更适合另一类任务。

设好就忘掉:通过 cron 触发的 n8n 网页爬虫管道

一次性抓取很有用,但 n8n 网页爬虫真正强大的地方,是周期性的自动化数据采集。令人意外的是,几乎没有 n8n 爬虫教程会讲 Schedule Trigger 用在爬取里——尽管这正是社区里最常被需求的功能之一。

搭建每日价格监控流程

把你的 Manual Trigger 换成 Schedule Trigger 节点。你可以用 n8n 的 UI(“Every day at 8:00 AM”)或者 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 的定时爬虫让你可以直接用自然语言描述间隔,比如“每周一上午 9 点”,输入 URL 后点击“Schedule”即可。它在云端运行,不需要托管、不需要 cron 表达式,也不会悄悄失效。

维度n8n 定时工作流Thunderbit 定时爬虫
定时设置cron 表达式或 n8n 定时 UI用自然语言描述即可
数据清洗需要手动 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 请求头被读取之前, 就已经把你暴露了。

反爬排查决策树

这里给你一个系统化的排查框架,而不是一句“加个 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。Axios 在 TLS 握手阶段会失败,而同一容器里的 curl 却能正常工作。如果你用了代理却总是出现莫名其妙的连接错误,这很可能就是原因。

为什么 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 脚本

This paragraph contains content that cannot be parsed and has been skipped.

结论很简单:当爬取只是复杂多步骤自动化链条中的一环时,用 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 的定时爬虫 + 可以在几分钟内完成类似效果,并可免费导出到 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 节点上启用批处理,并把每批之间的等待时间设为 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 负责字段建议、分页、反爬和导出,两次点击就能完成。
  • 用 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 次执行。抓取受保护的网站时,可能还需要付费代理服务(住宅代理约 $5–15/GB)或爬虫 API(按量约每月 $49–200+,取决于使用规模)。

n8n 网页爬虫和 Thunderbit 怎么选?

如果你要的是多步骤自动化,而且爬取只是整个流程中的一环,比如“抓取 → 增强 → 筛选 → 推送到 CRM → Slack 告警”,n8n 更适合。如果你更需要的是快速、无代码的数据提取,并且希望 AI 自动识别字段、自动处理分页、网站改版时也不用维护,那 Thunderbit 更合适。很多团队会把两者一起用——Thunderbit 做提取,n8n 负责编排。

我能用 n8n 抓取需要登录的网站吗?

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

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

先检查 n8n 的 Executions 标签页,看有没有报错。最常见的原因是网站版式改了,导致 CSS 选择器失效——工作流看上去“成功”,但字段全空。用 Chrome 的 Inspect 工具确认你的选择器,更新到工作流里(或你外部保存的选择器表)后重新测试。如果是反爬拦截,就按本指南里的排查决策树来处理。想要长期稳定,建议考虑像 Thunderbit 这样的 AI 爬虫,它可以自动适应页面变化。

延伸阅读

目录

试试 Thunderbit

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

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