几个月前,我们的一位用户发来一张 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-Agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 |
| Accept | text/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 社区论坛里最常见的痛点。
分页主要有两种模式:
- 基于点击 / URL 递增的分页——像
?page=1、?page=2这样的页面。 - 无限滚动——随着你向下滚动,内容才不断加载出来(比如 Twitter、Instagram,或者很多现代商品目录)。
n8n 中的点击式分页(用循环节点实现 URL 递增)
HTTP Request 节点 Options 里的内置 Pagination 选项听起来很方便,但实际并不稳定。最受欢迎的 n8n 爬虫教程作者 Lakshay Nasa 就尝试过这个功能,并写道:“就我经验来看,它的表现并不可靠。” 论坛用户也反馈它会 、,以及无法识别最后一页。

更稳妥的做法是:先在 Code 节点里显式生成 URL 列表,再用 Loop Over Items 逐个迭代。
具体步骤如下:
- 添加一个 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}));
- 连接一个 Loop Over Items 节点,逐条遍历列表。
- 在循环内部,添加 HTTP Request 节点(把 URL 设置为
{{ $json.url }}),再接上 HTML 节点做解析。 - 在循环内部加入一个 Wait 节点(1–3 秒,随机化),避免触发 429 限流。
- 循环结束后,汇总结果并导出到 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 * * *)。
完整工作流链路如下:
- Schedule Trigger(每天早上 8 点)
- Code 节点(生成分页 URL)
- Loop Over Items → HTTP Request → HTML → Wait(抓取所有页面)
- Code 节点(清洗数据、规范化价格)
- Google Sheets(追加新行)
- IF 节点(是否有价格低于阈值?)
- Slack(如果有,就发送提醒)
再配一个 Error Trigger 工作流,在任何失败执行时都触发,并把消息推送到 Slack。否则,一旦选择器失效(而这几乎是迟早的事),你可能要等三周后才发现报表空了。
还有两个不太显眼但很重要的要求:
- n8n 必须 24/7 持续运行。 如果你把自托管实例放在笔记本上,合上电脑盖子之后定时器就不会触发。请使用服务器、Docker 或 n8n Cloud。
- 每次修改工作流后,都要先关闭再重新开启。 n8n Cloud 有一个,就是修改后定时器会悄悄失去注册,而且不会给出任何报错反馈。
搭建每周线索提取流程
模式一样,只是目标不同:Schedule Trigger(每周一上午 9 点)→ HTTP Request(商业目录)→ HTML(提取姓名、电话、邮箱)→ Code(去重、清洗格式)→ 推送到 Airtable 或 HubSpot。

真正被低估的成本,是维护负担。如果目录网站改了版式,你的 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 网页爬虫实战流程
论坛用户一直在问:“有没有人把这些串成多步骤工作流?” 下面这三个具体流程,都是你今天就能搭出来的真实节点序列。
工作流 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 工作流到底差多少, 可以让你先小规模试用——而 只要几秒钟就能装好。想看视频演示和工作流灵感,可以去看看 。
常见问题
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 爬虫,它可以自动适应页面变化。
延伸阅读