幾個月前,我們有位使用者傳來一張 n8n 工作流程的截圖,裡面有 14 個節點、半打便利貼,主旨只有兩個字:「救命」。他照著一篇很熱門的 n8n 網頁爬蟲教學做,先在測試網站上跑出漂亮的 10 行示範資料,接著想把 200 個商品頁面的競品價格真正抓下來。結果呢?分頁迴圈壞掉、403 錯誤滿版,還有排程器在第一個星期二之後就悄悄不再觸發。
這道落差——從 demo 到正式管線——正是大多數 n8n 爬蟲專案的翻車點。我花了好幾年打造 並投入自動化領域,老實說:真正困難的通常不是「抓取」本身,而是第一次成功抓取之後的所有事情。分頁、排程、反機器人防護、資料清理、匯出,還有最麻煩的——網站版面第三次改版時的維護成本。這篇指南會帶你走完整條流程,從第一個 HTTP Request 節點開始,一路到可週期執行、可上線的 n8n 網頁爬蟲工作流程。當 n8n 的 DIY 做法碰到瓶頸時,我也會告訴你像 Thunderbit 這類 AI 工具,在哪些地方能幫你省下好幾個小時,甚至好幾天的挫折。
什麼是 n8n 網頁爬蟲(以及為什麼多數教學只講到皮毛)
n8n 是一個開源、低程式碼的工作流程自動化平台。你可以把它想像成一塊視覺化畫布,透過連接各種「節點」來完成特定任務——抓網頁、解析 HTML、發送 Slack 訊息、寫入 Google Sheets——再把這些節點串成自動化流程。不需要重度寫程式,但如果需要,也可以直接插入 JavaScript。
所謂「n8n 網頁爬蟲」,就是利用 n8n 內建的 HTTP Request 和 HTML 節點(以及社群節點),在這些自動化流程中抓取、解析與處理網站資料。核心其實只有兩步:抓取(HTTP Request 節點從網址取得原始 HTML)與 解析(HTML 節點用 CSS 選擇器把你要的資料點撈出來,例如商品名稱、價格、Email 等)。
這個平台的規模相當驚人:截至 2026 年 4 月,n8n 擁有 、超過 23 萬名活躍使用者、9,166+ 個社群工作流程範本,而且幾乎每週都會釋出一個小版本更新。它也在 2025 年 3 月完成了 。動能非常強。
但有個大家很少提到的落差。dev.to 上最受歡迎的 n8n 爬蟲教學之一(由 Lakshay Nasa 撰寫,發布在「Extract by Zyte」組織名下)曾在「Part 2」承諾會講分頁。Part 2 的確來了——而作者自己的結論是:「N8N 在 HTTP Request 節點的 Options 裡提供了預設的 Pagination Mode,雖然聽起來很方便,但依我經驗,它在一般網頁爬取情境下並不可靠。」 最後作者還是改用付費第三方 API 來處理分頁。與此同時,n8n 論壇使用者仍不斷把「分頁、限流、登入」列為 n8n 爬蟲「很容易變複雜」的轉折點。這篇指南就是為了補上那個缺口。
為什麼 n8n 網頁爬蟲對業務、營運與電商團隊很重要
n8n 網頁爬蟲不只是工程師的興趣專案,它是商業工具。全球 在 2025 年約為 10 億到 13 億美元,預計到 2030 年將成長到 20 億到 23 億美元。單就動態定價而言,約有 已經在使用;而 現在仰賴替代數據,其中很多都來自網頁爬取。麥肯錫也指出,採用動態定價的企業可帶來 。
n8n 真正強的地方,不只是把資料抓回來,而是抓回來之後要做什麼。n8n 可以把爬取和下游動作串在一起——CRM 更新、Slack 通知、試算表匯出、AI 分析——全部放在同一個工作流程中完成。
| 使用情境 | 受益對象 | 抓取內容 | 商業成果 |
|---|---|---|---|
| 開發名單蒐集 | 業務團隊 | 商業名錄、聯絡頁面 | 將合格名單填入 CRM |
| 競品價格監控 | 電商營運 | 商品列表頁 | 即時調整售價 |
| 房地產新案追蹤 | 房仲 | Zillow、Realtor、在地 MLS 網站 | 比競爭對手更早發現新案 |
| 市場研究 | 行銷團隊 | 評論網站、論壇、新聞 | 找出趨勢與客戶情緒 |
| 供應商/SKU 庫存監控 | 供應鏈營運 | 供應商商品頁 | 避免缺貨、優化採購 |
數據也證明 ROI 很真實: 計畫在 2025 年增加 AI 投資,而自動化名單培育在 9 個月內可讓 。如果你的團隊還在手動把網站資料複製貼到試算表,那你其實正在把錢留在桌上。
你的 n8n 網頁爬蟲工具箱:核心節點與可用方案
在開始之前,你得先知道工具箱裡有什麼。以下是網頁爬蟲最常用的 n8n 節點:
- HTTP Request 節點:從任何網址取得原始 HTML。就像瀏覽器送出頁面請求,但回傳的是程式碼而不是渲染後的畫面。支援 GET/POST、標頭、批次處理,理論上也支援內建分頁。
- HTML 節點(前身為「HTML Extract」):透過 CSS 選擇器解析 HTML,擷取你需要的特定資料——標題、價格、連結、圖片等等。
- Code 節點:可寫 JavaScript 片段來做資料清理、網址正規化、去重與自訂邏輯。
- 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 社群節點 | 動態/受保護網站 | 中階 | 是 | 內建(代理輪替、CAPTCHA) |
| n8n + Headless Browser(Puppeteer) | 複雜 JS 互動 | 進階 | 是 | 部分支援(視設定而定) |
| Thunderbit(AI 網頁爬蟲) | 任何網站、非技術使用者 | 初階 | 是(瀏覽器或雲端模式) | 內建(沿用瀏覽器工作階段或雲端處理) |
截至 v2.15.1,n8n 沒有原生的 headless browser 節點。任何需要 JS 渲染的爬取,都必須透過社群節點或外部 API 來完成。
順帶一提 Thunderbit:它是我們團隊打造的 AI 驅動 。你只要點一下「AI Suggest Fields」,再點「Scrape」,就能拿到結構化資料——不需要 CSS 選擇器、不需要節點設定,也不需要後續維護。我會在這篇指南中一路告訴你它適合放在哪裡,以及 n8n 又在哪些情境更適合。
逐步實作:打造你的第一個 n8n 網頁爬蟲工作流程
工具箱介紹完了,接下來就從零開始做一個可運作的 n8n 網頁爬蟲。我會用商品列表頁當範例——這正是價格監控或競品研究最常抓的內容。
開始前先確認:
- 難度: 初階–中階
- 所需時間: 約 20–30 分鐘
- 你需要準備: n8n(自架或 Cloud)、目標網址、Chrome 瀏覽器(用來找 CSS 選擇器)
第 1 步:建立新工作流程並加入手動觸發
打開 n8n,點選「New Workflow」,然後取一個清楚的名稱,例如「Competitor Price Scraper」。拖入一個 Manual Trigger 節點。(之後我們會換成排程觸發。)
你應該會在畫布上看到一個單獨的節點,準備在你點「Test Workflow」時執行。
第 2 步:用 HTTP Request 節點抓取頁面
新增一個 HTTP Request 節點,並連到 Manual Trigger。將方法設為 GET,並輸入你的目標網址(例如 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 |
如果你要抓多個網址,請在 Options 中啟用 Batching,並將每次請求之間的等待時間設為 1–3 秒。這有助於避免觸發速率限制。
執行節點後,你應該會在輸出面板看到原始 HTML。
第 3 步:用 HTML 節點解析資料
將一個 HTML 節點連到 HTTP Request 的輸出。將操作設為 Extract HTML Content。
要找出正確的 CSS 選擇器,請在 Chrome 中打開目標頁面,對你要抓的資料(例如商品標題)按右鍵,選擇「Inspect」。在 Elements 面板中,對反白的 HTML 元素按右鍵,選擇「Copy → Copy selector」。
你可以像這樣設定擷取欄位:
| 欄位 | CSS 選擇器 | 回傳值 |
|---|---|---|
| product_name | .product-title | Text |
| price | .price-current | Text |
| url | .product-link | Attribute: href |
執行節點後,你應該會在輸出中看到結構化資料表——商品名稱、價格與網址。
第 4 步:用 Code 節點清理與正規化資料
原始爬回來的資料通常很亂。價格可能帶有多餘空白、網址可能是相對路徑,文字欄位也可能有尾端換行。新增一個 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 社群論壇中最常見的痛點。
分頁主要有兩種模式:
- 點擊式/網址遞增分頁 —— 像
?page=1、?page=2這種頁面。 - 無限捲動 —— 內容會在你往下捲時持續載入(像 Twitter、Instagram,或多數現代商品目錄)。
n8n 中的點擊式分頁(透過 Loop 節點做網址遞增)
HTTP Request 節點 Options 裡的內建 Pagination 選項看起來很方便,但實務上並不穩定。前面提到的熱門 n8n 教學作者 Lakshay Nasa 也試過,並寫下:「依我經驗,它並不可靠。」論壇使用者也回報它會 、 與無法偵測最後一頁。

比較穩的做法是:先在 Code 節點明確建立網址清單,再用 Loop Over Items 逐一處理。
做法如下:
- 新增 Code 節點 產生頁面網址:
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(建立網址) → Loop Over Items → HTTP Request → HTML → Wait →(回到迴圈)→ Aggregate → Export。
要注意的一點是:Loop Over Items 節點有一個 ,在巢狀迴圈時可能會靜默跳過部分項目。如果你同時在做分頁與子頁面補充,務必要仔細測試——「done」數量不一定會和輸入數量一致。
無限捲動分頁:為什麼 n8n 內建節點會卡住
無限捲動頁面會在你捲動時透過 JavaScript 載入內容。HTTP Request 節點只會抓到初始 HTML,無法執行 JavaScript,也不能觸發捲動事件。你有兩種選擇:
- 使用 headless browser 社群節點(例如 或 )來渲染頁面並模擬捲動。
- 使用爬取 API(ScrapeNinja、Firecrawl、ZenRows),並啟用 JS 渲染。
這兩種方式都會大幅增加複雜度。每個網站的設定時間大約要 30–60 分鐘以上,之後還得持續維護。
Thunderbit 如何不需要設定就處理分頁
雖然我有偏好,但兩者差異非常明顯:
| 能力 | n8n(DIY 工作流程) | Thunderbit |
|---|---|---|
| 點擊式分頁 | 需要手動設定 loop 與網址遞增 | 自動偵測並跟隨分頁 |
| 無限捲動頁面 | 需要 headless browser + 社群節點 | 內建支援,無需設定 |
| 設定成本 | 每個網站 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 節點(產生分頁網址)
- 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(擷取姓名、電話、Email)→ Code(去重、清理格式)→ 推送到 Airtable 或 HubSpot。

真正被低估的成本,是維護負擔。如果名錄網站改版,你的 CSS 選擇器就會失效,工作流程也可能靜默失敗。HasData 估算,任何以選擇器為基礎的管線,每年都應預留 的初始建置時間作為持續維護成本。一旦你要維護大約 20 個網站,這個開銷就非常真實。
Thunderbit 的 Scheduled Scraper:免程式碼替代方案
Thunderbit 的 Scheduled Scraper 讓你可以用自然語言描述排程(例如「每週一上午 9 點」)、輸入網址,然後按下「Schedule」。它在雲端執行——不用主機、不用 cron 表達式、也不會悄悄失效。
| 面向 | n8n 排程工作流程 | Thunderbit Scheduled Scraper |
|---|---|---|
| 排程設定 | 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 標頭被讀取之前, 就已經把你暴露了。
反機器人決策樹
以下是一個系統化的除錯框架,不只是「加 User-Agent」而已:
請求被擋下來?
- 403 Forbidden → 加入 User-Agent + Accept 標頭(見上方第 2 步)→ 還是被擋?
- 是 → 加入住宅代理輪替 → 還是被擋?
- 是 → 改用爬取 API(ScrapeNinja、Firecrawl、ZenRows)或 headless browser 社群節點
- 否 → 繼續
- 否 → 繼續
- 是 → 加入住宅代理輪替 → 還是被擋?
- 出現 CAPTCHA → 使用內建 CAPTCHA 解決的爬取 API(例如 )
- 回應空白(JS 渲染內容) → 使用 headless browser 社群節點或支援 JS 渲染的爬取 API
- 速率限制(429 error) → 在 HTTP Request 節點啟用 batching、將批次間等待時間設為 2–5 秒、降低並行數
還有一個坑:n8n 有一個 ,會讓 HTTP Request 節點無法正確透過 HTTP proxy 建立 HTTPS 隧道。即使同一個容器裡的 curl 沒問題,Axios 在 TLS handshake 時還是可能失敗。如果你有使用代理卻遇到神祕連線錯誤,通常就是這個原因。
為什麼 Thunderbit 能避開大多數反機器人問題
Thunderbit 提供兩種爬取模式:
- Browser Scraping:直接在你真正的 Chrome 瀏覽器裡執行,會沿用你的工作階段 Cookie、登入狀態與瀏覽器指紋。這能避開多數會攔截伺服器端請求的反機器人措施——因為請求本身就是一個真正的瀏覽器。
- Cloud Scraping:針對公開網站,Thunderbit 的雲端可大規模處理反機器人問題——一次 。
如果你花在跟 Cloudflare 對抗的時間比分析資料還多,那這就是更務實的替代方案。
老實說:n8n 網頁爬蟲什麼時候適合,什麼時候該換工具
n8n 是個很棒的平台,但不是每種爬蟲工作都適合它,而且很少有競品文章會誠實地講這件事。大家甚至直接在論壇問:「用 n8n 建網頁爬蟲有多難?」、「哪種爬蟲工具和 n8n 最搭?」
n8n 網頁爬蟲最擅長的場景
- 多步驟工作流程,需要把爬取與下游處理串起來——CRM 更新、Slack 警報、AI 分析、資料庫寫入。這就是 n8n 的核心強項。
- 爬取只是更大自動化鏈中的一個節點——抓取 → 增補 → 過濾 → 推送到 CRM。
- 熟悉 CSS 選擇器與節點邏輯的技術使用者。
- 需要在爬取與儲存之間做自訂資料轉換的情境。
n8n 網頁爬蟲最痛苦的場景
- 非技術使用者只想快速拿到資料。節點設定、CSS 選擇器找法與除錯流程,對商務使用者來說門檻很高。
- 反機器人防護很重的網站。 代理與 API 附加服務會增加成本與複雜度。
- 網站版面變動時的維護。 CSS 選擇器一壞,流程就可能靜默失敗。
- 跨很多不同類型網站的大量爬取。 每個網站都得單獨設定選擇器。
- 子頁面補充資料。 需要在 n8n 裡另外建立子流程。
並排比較:n8n vs. Thunderbit vs. Python 腳本
| 因素 | n8n DIY 爬取 | Thunderbit | Python 腳本 |
|---|---|---|---|
| 需要的技術能力 | 中階(節點 + CSS 選擇器) | 不需要(AI 建議欄位) | 高(寫程式) |
| 新網站設定時間 | 30–90 分鐘 | 約 2 分鐘 | 1–4 小時 |
| 反機器人處理 | 手動(標頭、代理、API) | 內建(瀏覽器/雲端模式) | 手動(各種函式庫) |
| 網站改版時的維護 | 手動更新選擇器 | 幾乎不用——AI 自動適應 | 手動更新程式碼 |
| 多步驟工作流程支援 | 很強(核心優勢) | 匯出到 Sheets/Airtable/Notion | 需自行寫程式 |
| 大規模使用成本 | n8n 主機 + 代理/API 成本 | 點數制(約每列 1 點) | 伺服器 + 代理成本 |
| 子頁面補充 | 手動——需建立獨立子流程 | 一鍵子頁抓取 | 自訂腳本 |
結論是:當爬取只是複雜、多步驟自動化鏈中的一環時,用 n8n。 當你想快速拿到資料、不想自己搭工作流程時,用 Thunderbit。當你需要最大控制權,而且手上有開發資源時,用 Python。它們不是彼此取代,而是互補。

你真的可以直接套用的 n8n 網頁爬蟲實戰流程
論壇使用者一直在問:「有人把這些串成多步驟工作流程嗎?」 下面這三個具體流程——都是你今天就能做出來的實際節點順序。
工作流程 1:電商競品價格監控
目標: 每天追蹤競品價格,並在降價時通知你。
節點鏈: Schedule Trigger(每日,早上 8 點)→ Code(產生分頁網址)→ 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(擷取姓名、電話、Email、地址)→ Code(去重、清理格式)→ OpenAI/Gemini 節點(依產業分類)→ HubSpot 節點(建立聯絡人)
備註: n8n 有原生的 ——推送到 CRM 很方便。但爬取與清理步驟仍然需要手動處理 CSS 選擇器。
Thunderbit 快速方案: Thunderbit 的免費 和電話號碼提取器,只要點一下就能抓聯絡資訊,不必搭工作流程。它的 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 或 Email 通知。這在正式管線裡是不能妥協的。
把 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 工作流程差在哪裡, 可以讓你先小規模試用,而 幾秒內就能安裝完成。若你想看影片教學和流程靈感,可以到 看看。
常見問題
n8n 可以抓取大量 JavaScript 的網站嗎?
單靠內建的 HTTP Request 節點不行。HTTP Request 節點只會抓原始 HTML,無法執行 JavaScript。若是 JS 渲染網站,你需要像 這類社群節點,或是支援伺服器端 JS 渲染的爬取 API 整合(ScrapeNinja、Firecrawl)。Thunderbit 的 Browser 與 Cloud 爬取模式都能原生處理大量 JS 的網站。
n8n 網頁爬蟲是免費的嗎?
n8n 的自架版本是免費且開源的。n8n Cloud 以前有免費方案,但截至 2026 年 4 月,目前只有 14 天試用;之後方案從每月 24 美元、2,500 次執行起跳。若要抓受保護網站,還可能需要付費代理服務(住宅代理約每 GB 5–15 美元)或爬取 API(依流量而定,每月約 49–200+ 美元)。
n8n 網頁爬蟲和 Thunderbit 怎麼比較?
n8n 更適合多步驟自動化,當爬取只是較大流程的一部分時,例如「抓取 → 增補 → 過濾 → 推送到 CRM → Slack 通知」。Thunderbit 更適合快速、免程式碼的資料擷取,具備 AI 欄位偵測、自動分頁,以及網站改版時幾乎零維護的優勢。很多團隊會兩者一起用——Thunderbit 負責擷取,n8n 負責編排。
如果需要登入才能看資料,可以用 n8n 抓嗎?
可以,但你需要在 HTTP Request 節點中設定 cookies 或 session token,維護起來比較麻煩。Thunderbit 的 Browser Scraping 模式會自動沿用使用者已登入的 Chrome 工作階段——只要你看得到,它通常就抓得到。
如果我的 n8n 爬蟲突然不再回傳資料,該怎麼辦?
先去 n8n 的 Executions 分頁檢查錯誤。最常見的原因是網站版面變了,導致 CSS 選擇器失效——流程顯示成功,但欄位卻空白。請用 Chrome 的 Inspect 工具確認選擇器,更新到你的工作流程(或外部的選擇器表)後重新測試。如果是反機器人封鎖,請照這篇指南的除錯決策樹逐步排查。若你需要長期穩定性,可以考慮像 Thunderbit 這種能自動適應版面變化的 AI 爬蟲。
延伸閱讀