幾個月前,我們收到一位使用者傳來的 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 在 GitHub 上已有約 、超過 23 萬活躍使用者、9,166+ 個社群工作流程範本,且幾乎每週都會釋出一個新的小版本更新。它也在 2025 年 3 月完成了 。動能非常強。
但有個很少人提起的落差。dev.to 上最熱門的 n8n 爬蟲教學之一(由 Lakshay Nasa 撰寫,發佈於「Extract by Zyte」名下)在「第二部分」承諾會講分頁。第二部分確實出了——但作者最後的結論是:「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 庫存監控 | 供應鏈營運 | 供應商商品頁 | 避免缺貨、優化採購 |
數據也證明投資報酬率是真實存在的: 計畫在 2025 年增加 AI 投資,而自動化名單培育在九個月內可讓 。如果你的團隊還在把網站資料手動複製貼到試算表,那你其實正在把錢留在桌上。
n8n 網頁爬蟲工具箱:核心節點與可用方案
在開始動手之前,你得先知道工具箱裡有什麼。以下是 n8n 網頁爬蟲最重要的節點:
- HTTP Request 節點:從任意網址抓取原始 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 社群節點 | 動態/受保護網站 | 中級 | 是 | 內建(代理輪換、CAPTCHA) |
| n8n + Headless Browser(Puppeteer) | 複雜 JS 互動 | 進階 | 是 | 部分支援(視設定而定) |
| Thunderbit(AI 網頁爬蟲) | 任何網站、非技術使用者 | 初級 | 是(瀏覽器或雲端模式) | 內建(沿用瀏覽器工作階段或雲端處理) |
截至 n8n v2.15.1,平台沒有原生的 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 社群論壇裡最常見的挫折來源。
主要有兩種分頁模式:
- 點擊式/URL 遞增分頁——像
?page=1、?page=2這種頁面。 - 無限捲動——內容會隨著你往下捲動而載入(例如 Twitter、Instagram,或許多現代商品目錄)。
在 n8n 裡做點擊式分頁(用 Loop 節點遞增 URL)
HTTP Request 節點 Options 裡的內建 Pagination 選項聽起來很方便,但實務上並不可靠。最熱門的 n8n 爬蟲教學作者 Lakshay Nasa 就實際測試過,並寫下:「就我經驗來看,它並不穩定。」 論壇使用者也回報它會 、,以及無法辨識最後一頁。

比較可靠的做法是:在 Code 節點中明確建立 URL 清單,再用 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(建立 URL)→ Loop Over Items → HTTP Request → HTML → Wait →(迴圈回去)→ 彙整 → 匯出。
有個注意事項:Loop Over Items 節點有一個 ,在巢狀迴圈時會默默跳過某些項目。如果你同時在做分頁與子頁面擴充,務必仔細測試——「完成數」不一定會和輸入數一致。
無限捲動分頁:為什麼 n8n 內建節點很吃力
無限捲動頁面會在你捲動時透過 JavaScript 載入內容。HTTP Request 節點只會抓初始 HTML,無法執行 JavaScript,也無法觸發捲動事件。你有兩種選擇:
- 使用 headless browser 社群節點(例如 或 )來渲染頁面並模擬捲動。
- 使用爬蟲 API(ScrapeNinja、Firecrawl、ZenRows),並開啟 JS 渲染。
這兩種方法都會大幅增加複雜度。每個網站的設定時間可能要 30–60 分鐘以上,後續還要持續維護。
Thunderbit 如何在不需設定的情況下處理分頁
我有偏好,但兩者差異真的很明顯:
| 能力 | n8n(DIY 工作流程) | Thunderbit |
|---|---|---|
| 點擊式分頁 | 需手動設定迴圈節點與 URL 遞增 | 自動偵測並追蹤分頁 |
| 無限捲動頁面 | 需要 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 節點(產生分頁 URL)
- Loop Over Items → HTTP Request → HTML → Wait(抓取所有頁面)
- Code 節點(清理資料、標準化價格)
- Google Sheets(追加新列)
- IF 節點(是否有價格低於門檻?)
- Slack(如果有,送出通知)
另外再接一條 Error Trigger 工作流程,只要任一執行失敗就觸發並 ping Slack。否則當選擇器壞掉時(它們一定會壞),你往往要到三週後看到報表空白才會發現。
有兩個不太明顯但很重要的要求:
- n8n 必須 24/7 持續運作。 如果你把自架版跑在筆電上,蓋上螢幕後它就不會再觸發。請用伺服器、Docker,或 n8n Cloud。
- 每次修改 workflow 後,都要把工作流程關掉再重新開啟。 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 Report,,其中 屬於惡意流量。反機器人供應商(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 錯誤) → 在 HTTP Request 節點啟用批次處理,將每批間隔設為 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(產生分頁 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(擷取名稱、電話、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 有像 ——完全不需要 CSS 選擇器。需要完整自動化鏈條(抓取 → 比對 → 通知)的使用者適合 n8n;只想拿到房源資料的人,則更適合 Thunderbit。
想找更多工作流程靈感,可以看看 n8n 社群庫中的 、,以及 等範本。
讓你的 n8n 網頁爬蟲管線穩定運作的實用技巧
正式爬蟲的工作量是 20% 建置、80% 維護。
使用批次處理與延遲,避免速率限制
在 HTTP Request 節點啟用批次處理,並將每批之間的等待時間設為 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 渲染網站,你需要像 這類社群節點,或是整合會在伺服器端渲染 JavaScript 的爬蟲 API(ScrapeNinja、Firecrawl)。Thunderbit 在 Browser 與 Cloud 兩種模式下都能原生處理這類網站。
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 工作階段——只要你看得到,Thunderbit 通常也能抓得到。
如果我的 n8n 爬蟲突然不再回傳資料,該怎麼辦?
先到 n8n 的 Executions 分頁檢查錯誤。最常見的原因是網站版面變動,導致 CSS 選擇器失效——工作流程表面上「成功」,但回傳欄位全空。請用 Chrome 的 Inspect 工具驗證選擇器、在工作流程(或外部選擇器表)中更新後重新測試。如果是被反機器人機制擋住,就依照本指南中的排錯決策樹處理。若要長期穩定,建議考慮像 Thunderbit 這種能自動適應版面變化的 AI 爬蟲。
延伸閱讀