
在台灣的網路社群版圖中,Dcard 以其年輕、活躍的使用者群體,成為了觀察 Z 世代消費趨勢、品牌輿情與熱門話題的絕對前線。對於行銷人員、數據分析師、甚至是學術研究者來說,Dcard 上每日產出的海量文章與留言,無疑是一座蘊含無限洞察的金礦。
然而,這座金礦的入口,卻被一扇厚重的大門——「會員登入」——所守護。許多有價值的看板(如美妝版、穿搭版)與文章的完整內容,都必須在登入後才能瀏覽。這為自動化爬蟲帶來了巨大的挑戰。
你是否也曾想用 n8n 抓取 Dcard,卻不知如何處理複雜的登入機制與動態載入的內容?這篇文章將是你最完整的 Dcard 爬蟲終極實戰指南。我們將跳脫傳統爬蟲的思維框架,為你揭示一套結合 Puppeteer 與 API 逆向工程 的混合戰術。
我們將手把手教你:
- 如何只登入一次,就取得能夠長期使用的 Session Cookies。
- 如何找出 Dcard 用來載入文章的內部隱藏 API。
- 如何最終在 n8n 中,建立一個不需瀏覽器、極度高效的爬蟲,來自動化抓取任何看板的最新文章。
為什麼要爬 Dcard?洞察 Z 世代的網路輿情與消費趨勢
在我們投入技術細節之前,先明確我們的目標。自動化抓取 Dcard 的數據,可以為你帶來巨大的商業價值:
- 品牌輿情監控: 即時追蹤你的品牌或產品,在各大看板上的討論聲量與評價,並在出現負面口碑時,第一時間收到警報。
- 市場趨勢分析: 透過長期追蹤特定看板(如理財版、3C 版)的熱門文章標題與關鍵字,洞察年輕世代最關心的話題與需求變化。
- 競品研究: 分析競品在 Dcard 上的討論度、優缺點,作為自身產品優化與行銷策略的參考。
- 內容行銷靈感: 從熱門文章與留言中,挖掘出使用者最真實的痛點與流行語,作為你內容創作的靈感來源。
專業爬蟲的混合戰術:Puppeteer 用於登入,API 用於抓取
面對像 Dcard 這樣一個現代化的動態網站 (SPA),如果試圖用 Puppeteer 來模擬所有操作(滾動、點擊、換頁),會非常緩慢且消耗資源。專業的爬蟲玩家,會採用一種更聰明、更高效的混合戰術:
- 分階段任務: 我們將整個任務拆解成「取得登入憑證」和「抓取內容」兩個完全獨立的階段。
- Puppeteer 只做一件事: 我們只在第一階段,使用 Puppeteer 來自動化登入,其唯一目的,就是為了獲取登入成功後,Dcard 伺服器發給我們的「通關密語 (Session Cookies)」。
- n8n 直接呼叫 API: 一旦我們擁有了 Session Cookies,我們就不再需要笨重的瀏覽器了。在第二階段,我們將扮演 Dcard 自己的前端 App,使用 n8n 的
HTTP Request
節點,直接呼叫 Dcard 用來載入文章的內部 API。這個過程極度快速、穩定,且回傳的是乾淨的 JSON 資料。

步驟一:使用 Puppeteer 獲取 Dcard 的「通關密語 (Session Cookies)」
這個工作流,你可能只需要執行一次,或是每隔一段時間(當 Cookie 過期時)才需要執行一次。
流程設計: Start
-> Browserless (Run Custom Function)
- 在
Browserless
節點的Run Custom Function
中,貼上以下 Puppeteer 腳本:
JavaScript// page 是 n8n 傳入的 Puppeteer 頁面物件
// 1. 前往 Dcard 登入頁面
await page.goto('https://www.dcard.tw/signin');
// 2. 等待表單元素出現
await page.waitForSelector('input[name="email"]');
await page.waitForSelector('input[name="password"]');
// 3. 填寫帳號密碼 (強烈建議從 n8n Credential 傳入)
await page.type('input[name="email"]', 'YOUR_DCARD_EMAIL');
await page.type('input[name="password"]', 'YOUR_DCARD_PASSWORD');
// 4. 點擊登入按鈕並等待跳轉
await Promise.all([ page.click('button[type="submit"]'), page.waitForNavigation(), ]);
// 5. 確認登入成功 (例如,等待個人頭像出現)
await page.waitForSelector('a[href="/my/profile"]');
console.log('Login successful!');
// 6. 提取所有 Cookies
const cookies = await page.cookies();
// 7. 將 Cookies 作為 JSON 回傳
return { cookies: cookies };
- 執行工作流: 執行後,
Browserless
節點的輸出,就是一個包含了 Dcard 所有 Session Cookies 的 JSON 陣列。 - 儲存 Cookies: 將這個完整的 JSON 陣列複製下來,儲存在一個安全的地方,例如 n8n 的
Static Data
或一個本地文字檔中。這是你未來所有 Dcard 爬蟲流程的「萬能鑰匙」。
步驟二:逆向工程 Dcard,找出隱藏的文章 API 端點
接下來,我們要成為一名 API 偵探,找出 Dcard 真正的文章 API。
- 登入 Dcard,並用你的 Chrome 瀏覽器前往你想爬取的看板,例如電影版 (
https://www.dcard.tw/f/movie
)。 - 按下
F12
打開開發者工具,切換到Network
面板,並點擊Fetch/XHR
篩選器。 - 重新整理頁面。你會在請求列表中,看到一個非常關鍵的請求,它的名稱通常看起來像這樣:
posts?popular=true&limit=30
- 點擊這個請求,並檢視
Headers
分頁:- Request URL:
https://www.dcard.tw/_api/posts?popular=true&limit=30
(這就是 API 端點!) - Request Method:
GET
- Request URL:
- 檢視
Response
或Preview
分頁,你會看到回傳的,正是文章列表的乾淨 JSON 資料!
步驟三:建立高效爬蟲,用 n8n 直接呼叫 Dcard API
現在,我們有了「通關密語 (Cookies)」和「秘密通道 (API Endpoint)」,可以開始建立我們真正高效的爬蟲了。
流程設計: Schedule
-> Set (載入 Cookie)
-> HTTP Request (呼叫 API)
-> Google Sheets
Schedule
節點: 設定你希望爬蟲執行的頻率,例如每天一次。Set
節點:- 建立一個名為
dcard_cookies
的欄位。 - 將你在步驟一儲存的 Cookie JSON 陣列,完整地貼到 Value 欄位中。
- 建立一個名為
HTTP Request
節點:- URL:
https://www.dcard.tw/_api/posts?limit=50&forum=movie
(我們指定了movie
看板,並將數量限制設為 50)。 - Options > Header > Cookie (使用 Expression):JavaScript
{{ $json.dcard_cookies.map(c => `${c.name}=${c.value}`).join('; ') }}
- 解說: 這段重要的語法,會將我們儲存的 Cookie JSON 陣列,轉換成
HTTP Header
所需的key=value;
字串格式。
- 解說: 這段重要的語法,會將我們儲存的 Cookie JSON 陣列,轉換成
- Headers > Add Header: 記得也要加上偽裝的
User-Agent
。
- URL:
Google Sheets
節點:HTTP Request
節點的回傳結果是一個 JSON 陣列,你可以直接將其連接到 Google Sheets 節點的Append or Update
操作,輕鬆地將id
,title
,excerpt
,likeCount
等欄位寫入你的試算表中。
爬取 Dcard 的法律、道德紅線與最佳實踐
- 尊重使用者隱私: Dcard 是一個真實的社群,其中包含了大量的個人情感與隱私。在進行任何數據抓取與分析時,請務必以最高標準,對用戶數據進行「去識別化」,絕不應儲存或分析任何可用於識別個人身份的資訊。
- 遵守平台規範: 自動化抓取平台內容,可能違反 Dcard 的服務條款。請以負責任的態度,在合理的範圍內,出於學術研究或市場分析等正當目的使用這些技術,並將請求頻率降至最低,避免對 Dcard 伺服器造成不必要的負擔。
- 帳號安全: 用於爬蟲的 Dcard 帳號,建議使用獨立的、非主要的帳號,並啟用兩步驟驗證,以防萬一。

結語
n8n 為我們提供了一套無與倫比的靈活工具,讓我們能夠透過「混合戰術」,應對像 Dcard 這樣複雜的現代化網站。透過將 Puppeteer 的「互動能力」與 HTTP Request
的「高效請求」相結合,我們得以在一次性的安全登入後,建立起一個能夠長期、穩定、且高效運作的自動化數據抓取流程。
這不僅僅是一個爬蟲教學,更是一種解決複雜自動化問題的思維模式:為正確的任務,選擇正確的工具。 將最耗費資源的瀏覽器模擬,限制在最小的必要範圍內,並在取得關鍵憑證後,回歸到最輕量、最快速的 API 直接通訊。這,就是專業自動化開發的精髓所在。
更多精選文章請參考
n8n 與 Zapier 比較:該選哪個?2025年最完整功能、費用、優缺點分析
開源自動化工具推薦:從工作流程到測試,找到最適合你的免費方案
n8n 發送 Email 超詳細教學:從 SMTP 設定到 Gmail 節點串接,一篇搞定!
n8n Notion 串接終極指南:2025 年打造自動化工作流程,效率翻倍!