
你是否在 n8n 爬蟲的道路上,遇到了那扇最堅固、也最誘人的大門——會員登入?你想要抓取的,不再是公開的商品列表或新聞標題,而是登入後才能看到的個人化資訊:你的銀行帳戶餘額、線上課程的學習進度、社群媒體的私信內容,或是公司內部系統的數據報表。
當你嘗試用 HTTP Request
節點直接訪問這些頁面時,只會得到一個被重新導向到登入頁的結果。你意識到,你的爬蟲需要先學會如何像真人一樣,「登入」這個網站,才能進到內部抓取寶貴的資料。
這就是「驗證後爬取 (Authenticated Scraping)」的領域,而掌握它的關鍵,在於理解 Session 與 Cookie 的運作機制。
這篇文章將是你的 n8n 爬蟲登入終極指南。我們將從 Session 與 Cookie 的基本概念講起,手把手教你兩種核心的登入策略:一種是簡單直觀的「每次自動化登入」,另一種則是更高效、更專業的「重複使用 Cookie」。學會這些技巧,你將能突破任何登入牆的限制,讓你的 n8n 爬蟲具備存取網際網路任何角落資訊的能力。
為什麼需要登入?揭開 Session 與 Cookie 的神秘面紗
在我們動手之前,必須先理解網站是如何「記住」你的登入狀態的。這個過程,就像是你去參加一場大型音樂祭:
- 登入 (驗票入場): 你在入口處(登入頁面),出示你的身份證和門票(輸入帳號和密碼)。保全(伺服器)驗證無誤後,會在你手腕上,繫上一條獨一無二的 VIP 手環。
- Session (伺服器紀錄): 同時,保全會在他的名冊上,記錄下「這條手環(Session ID)對應的是王小明這位 VIP 客戶」。這份名冊,就是伺服器端的 Session。
- Cookie (客戶端憑證): 你手上的那條 VIP 手環,就是儲存在你瀏覽器中的 Cookie。
- 後續訪問 (憑手環暢行無阻): 接下來,當你想進入任何 VIP 區域(網站的會員專區)時,你不再需要每次都掏出身份證和門票。你只需要向保全出示你的手環 (在每個 HTTP 請求中,自動帶上 Cookie),保全在他的名冊上一查,確認這是有效的 VIP 手環,就會立刻放你通行。
爬蟲登入的目標: 我們的 n8n 爬蟲,就是要先模擬「驗票入場」的過程,拿到那條關鍵的「VIP 手環 (Cookie)」,然後在後續的所有請求中,都戴著這條手環,讓伺服器相信我們是合法的登入使用者。
方法一 (基本功):使用 Puppeteer 每次自動化登入
這是最直觀、最容易理解的登入方式:讓 n8n 在每一次執行工作流時,都完整地模擬一次真人從頭到尾的登入流程。我們需要使用 Puppeteer (透過 Browserless 節點) 來完成這個任務。
- 適用情境: 網站的登入機制非常嚴格,Session Cookie 的有效期很短,或是每次登入都會變動。
- 優點: 邏輯簡單,每次都確保是全新的、有效的登入狀態。
- 缺點: 效率較低(每次都要等待登入頁面載入與跳轉),且頻繁的登入行為,可能會觸發網站的異常登入警報。
實戰腳本:
以下是一個在 Browserless
節點的 Run Custom Function
中,執行自動化登入的範例腳本:
JavaScript
// page 是 n8n 傳入的 Puppeteer 頁面物件
// 1. 前往登入頁面
await page.goto('https://example.com/login');
[cite_start]// 2. 使用 waitForSelector,確保表單元素已載入 [cite: 5]
await page.waitForSelector('input[name="username"]');
await page.waitForSelector('input[name="password"]');
// 3. 填寫帳號密碼 (建議從 n8n Credential 傳入)
await page.type('input[name="username"]', 'YOUR_USERNAME');
await page.type('input[name="password"]', 'YOUR_SECRET_PASSWORD');
// 4. 點擊登入按鈕,並等待頁面跳轉完成
await Promise.all([
page.click('button[type="submit"]'),
page.waitForNavigation(),
]);
// 5. 現在,我們已經在登入後的會員頁面了
// 可以繼續在這裡進行爬取,或回傳 HTML 供後續節點使用
const memberPageHtml = await page.content();
return {
html: memberPageHtml
};

方法二 (進階術):登入一次,重複使用 Cookie 實現高效爬取
這才是專業爬蟲玩家的首選策略。核心思想是:我們不需要每次都去入口排隊驗票,我們只需要拿到那條可以長期使用的 VIP 手環 (Cookie) 就夠了。
這個策略分為「獲取 Cookie」和「使用 Cookie」兩個獨立的工作流。
步驟一:建立「獲取 Cookie」工作流 (只需執行一次)
這個工作流的目標,就是用 Puppeteer 登入一次,然後把登入成功後的所有 Cookies 都抓出來,儲存起來。
- 建立 Puppeteer 登入腳本: 使用與方法一完全相同的
Browserless
腳本來完成登入。 - 提取 Cookies: 在
page.waitForNavigation()
之後,也就是確認登入成功後,加入以下指令:JavaScript// ... 登入成功後 ... // 使用 page.cookies() 提取當前頁面的所有 Cookies const cookies = await page.cookies(); // 將 Cookies 作為 JSON 回傳 return { cookies: cookies };
- 儲存 Cookies: 執行這個工作流後,你會在
Browserless
節點的輸出中,得到一個包含了多個 Cookie 物件的陣列。將這個完整的 JSON 陣列複製下來,並儲存在一個安全的地方,例如 n8n 的Static Data
,或是一個本地的.json
檔案。
步驟二:建立「高效爬取」工作流 (可重複執行)
現在,我們有了 VIP 手環,就不再需要 Puppeteer 這個龐大的工具了。我們可以使用輕量級的 HTTP Request
節點,直接戴著手環去存取會員區。
Set
節點 (讀取 Cookie):- 在流程開頭,新增一個
Set
節點。 - 建立一個名為
cookies
的欄位,並將你上一步儲存的 Cookie JSON 陣列,完整地貼到 Value 欄位中。
- 在流程開頭,新增一個
HTTP Request
節點:- URL: 輸入你要抓取的會員區頁面網址,例如
https://example.com/dashboard
。 - Options > Header > Cookie: 在
Cookie
欄位,我們需要將 Cookie 陣列,轉換成瀏覽器看得懂的key=value;
字串格式。使用以下 Expression:JavaScript{{ $json.cookies.map(c => `${c.name}=${c.value}`).join('; ') }}
- Headers > User-Agent: 記得也要加上你偽裝的 User-Agent。
- URL: 輸入你要抓取的會員區頁面網址,例如
執行這個流程,你會發現 HTTP Request
節點成功地抓回了登入後才能看到的頁面內容!這個流程的執行速度,將會是 Puppeteer 登入方法的數十倍甚至上百倍。
實戰演練:建立一個自動抓取論壇「私信」的 n8n 流程
目標: 每天定時登入一個論壇,檢查是否有新的私人訊息,並將其內容發送到 Telegram。
- 執行一次「獲取 Cookie」工作流:
- 使用 Puppeteer 登入該論壇,成功後,將論壇的 Session Cookies 儲存下來。
- 建立「每日檢查私信」工作流:
Schedule
節點: 設定每天早上 8 點觸發。Set
節點: 讀取並準備好儲存的 Cookies。HTTP Request
節點:- 設定好 Cookie Header。
URL
指向論壇的「私信列表 API」(你需要透過逆向工程技巧找到這個 API)。
IF
節點: 判斷 API 回傳的私信列表中,是否有新訊息。Telegram
節點: 如果有新訊息,就將其內容發送到你的 Telegram。
安全第一:如何在 n8n 中妥善保管你的帳號密碼?
在所有需要輸入帳號密碼的環節(特別是 Puppeteer 腳本中),絕對不要將你的密碼以明文形式直接寫在節點裡。
最佳實踐:
- 在 n8n 左側邊欄,進入「Credentials」。
- 點擊「Add credential」,選擇
Header Auth
或Generic Credential Type
。 - 將你的帳號和密碼,分別存放在不同的欄位中,並給它一個好記的名字,例如
MyForumLogin
。 - 在 Puppeteer 腳本中,你需要先用一個
Get Credential
節點來讀取它,然後再透過context
傳入Browserless
節點,以確保密碼永遠不會暴露在工作流的程式碼中。

結語
處理需要登入的網站,是爬蟲技術從入門到進階的分水嶺。它考驗的不僅是你操作節點的能力,更是你對網頁驗證機制 (Authentication) 的理解。
今天,我們學會了兩種核心策略:
- Puppeteer 自動登入: 簡單暴力,適用於 Session 效期短的網站。
- Cookie 重複使用: 高效專業,是大規模、高頻率爬取的首選。
請記住,Cookie 就是你穿梭在會員專區的通行證。學會如何獲取、保管並重複使用它,你就能夠解鎖 n8n 爬蟲的全部潛力,將任何需要登入才能看見的寶貴數據,都轉化為你自動化流程中的一部分。
更多精選文章請參考
n8n 與 Zapier 比較:該選哪個?2025年最完整功能、費用、優缺點分析
開源自動化工具推薦:從工作流程到測試,找到最適合你的免費方案
n8n 發送 Email 超詳細教學:從 SMTP 設定到 Gmail 節點串接,一篇搞定!
n8n Notion 串接終極指南:2025 年打造自動化工作流程,效率翻倍!