
PTT (批踢踢實業坊) 作為台灣最大的網路論壇,無疑是觀察網路輿情、掌握最新話題趨勢的資訊金礦。其中,「電影版 (movie)」更是無數影迷交流心得、討論票房、分享好雷/負雷的第一線戰場。
你是否曾想過,要如何自動化地追蹤電影版的熱門話題?
- 每天自動抓取所有標題含有「[好雷]」的文章,彙整成一份必看清單。
- 監控特定電影(例如「沙丘」)的討論熱度,一有新文章就立即收到通知。
- 將所有文章的標題、作者、日期與連結,自動化地存入 Google Sheets 或資料庫,進行長期的數據分析。
這些聽起來像是需要撰寫複雜 Python 爬蟲程式才能完成的任務,但現在,透過 n8n 這個視覺化的自動化工具,你完全可以在不寫一行程式碼的情況下,輕鬆打造出你專屬的 PTT 爬蟲機器人。
這篇文章將是你最完整的 n8n PTT 爬蟲實戰案例教學。我們將從零到一,聚焦在「電影版」,帶你解決 PTT 最經典的「我已滿 18 歲」驗證問題,並手把手教你如何使用 HTML Extract
節點,精準地從網頁原始碼中,提取出每一篇文章的標題、作者、日期與連結,最終將這些寶貴的資訊,自動化地存入你的 Google Sheets 中。
為什麼要用 n8n 爬取 PTT?你的專屬輿情監測與內容策展中心
在開始動手前,讓我們先釐清用 n8n 來做這件事的價值。一個自動化的 PTT 爬蟲,可以成為你的:
- 個人化內容過濾器: 你可以設定只抓取包含特定關鍵字(如「[情報]」、「[選片]」)的文章,過濾掉大量雜訊,只看你想看的內容。
- 輿情監控儀表板: 對於電影發行商或行銷人員來說,可以建立一個工作流,持續監控自家電影的相關討論,並在有「[負雷]」出現時,立即發送警報到 Slack 或 Teams。
- 內容策展與彙整工具: 自動將每日的熱門文章,彙整成一份摘要,發送到你的 Telegram 頻道或 Email,讓你輕鬆掌握社群動態。
n8n 的視覺化介面,讓這一切的設定,都變得簡單而直觀。
攻克 PTT 的第一道門檻:搞定「我已滿 18 歲」的 Cookie 驗證
如果你直接使用 n8n 的 HTTP Request
節點去抓取 PTT 電影版的網址 (https://www.ptt.cc/bbs/movie/index.html
),你會發現抓回來的,永遠是那個詢問你是否已滿 18 歲的「警告頁面」,而不是真正的文章列表。
這是因為 PTT 是透過 Cookie 來記錄你已經同意過這個條款。因此,我們的爬蟲策略必須模擬真人的瀏覽行為:先「同意」一次,取得名為 over18
的 Cookie,然後帶著這個 Cookie,再去請求真正的文章列表頁面。
我們需要使用兩個 HTTP Request
節點來完成這個「兩階段認證」。
步驟一:第一個 HTTP Request
節點 – 取得 Cookie
- 新增一個
HTTP Request
節點,將其命名為「Get PTT Cookie」。 - Request Method:
POST
- URL:
https://www.ptt.cc/ask/over18
- Body Content Type:
Form URL Encoded
- Body Parameters > Add Parameter:
- Name:
from
- Value:
/bbs/movie/index.html
(我們要從電影版來) - Name:
yes
- Value:
yes
- Name:
- 在
Options
中,將Split Into Items
這個選項關閉。 - 執行這個節點。成功後,你會在輸出的
Headers
物件中,找到一個set-cookie
的欄位,裡面就包含了我們需要的over18=1;
這個寶貴的 Cookie。
步驟二:第二個 HTTP Request
節點 – 帶著 Cookie 抓取頁面
- 在第一個節點後,再接上一個
HTTP Request
節點,命名為「Scrape Movie Board」。 - Request Method:
GET
- URL:
https://www.ptt.cc/bbs/movie/index.html
- 關鍵步驟: 在 Header 區塊,點擊
Add Header
。- Name:
Cookie
- Value (使用 Expression):
{{ $node["Get PTT Cookie"].json.headers["set-cookie"][0].split(';')[0] }}
- 解說: 這段 Expression 的作用,是從上一個節點回傳的
set-cookie
陣列中,精準地提取出over18=1
這一段,作為我們請求時要帶上的「通行證」。
- 解說: 這段 Expression 的作用,是從上一個節點回傳的
- Name:
- 執行這個節點。這次,你會在
Output
的body
欄位中,看到文章列表頁面完整的 HTML 原始碼!我們成功進來了。

從 HTML 原始碼中淘金:使用 HTML Extract
節點精準提取資料
有了完整的 HTML,接下來就要從中「萃取」出我們需要的資訊。這就要靠 n8n 強大的 HTML Extract
節點。這個節點需要你提供 CSS Selector 來定位資料。
PTT 電影版 CSS Selector 大全:
- 每一篇文章的區塊:
.r-ent
- 文章標題:
.title a
- 文章連結:
.title a
(需要提取href
屬性) - 文章作者:
.meta .author
- 文章日期:
.meta .date
設定 HTML Extract
節點
- 在第二個
HTTP Request
節點後,接上HTML Extract
節點。 - Source Data: 預設即可 (
From Previous Node's 'body' Field
)。 - Extraction Values > Add Value: 我們需要為每一項想抓取的資料,建立一條規則。
- 抓取標題:
- Key:
title
- CSS Selector:
.title a
- Return Value:
Text
- Key:
- 抓取連結:
- Key:
link
- CSS Selector:
.title a
- Return Value:
Attribute
- Attribute:
href
- Key:
- 抓取作者:
- Key:
author
- CSS Selector:
.meta .author
- Return Value:
Text
- Key:
- 抓取日期:
- Key:
date
- CSS Selector:
.meta .date
- Return Value:
Text
- Key:
- 抓取標題:
- 執行節點後,你就會在輸出端看到一個個結構清晰的 JSON 物件,裡面整齊地放著每一篇文章的標題、連結、作者與日期!
完整工作流實戰:從零到一,將 PTT 最新文章自動存入 Google Sheets
現在,讓我們將所有零件組合起來,打造一個每天自動執行、並將結果存入 Google Sheets 的完整流程。
流程設計: Schedule
-> HTTP Request (Cookie)
-> HTTP Request (Scrape)
-> HTML Extract
-> Set (整理資料)
-> Google Sheets
- 觸發器: 將第一個節點換成
Schedule
節點,設定每天早上 9 點執行。 - Cookie 與爬取: 按照我們第二大點的教學,設定好兩個
HTTP Request
節點。 - 資料提取: 按照第三大點的教學,設定好
HTML Extract
節點。 Set
節點 (整理資料):HTML Extract
抓到的連結是不完整的 (/bbs/movie/M.172569...
),我們需要補上 PTT 的主網域。- 新增一個欄位
full_link
,Value 設為:https://www.ptt.cc{{ $json.link }}
。 - 你也可以在這裡過濾掉已被刪除或標題為空的項目。
Google Sheets
節點:- Operation:
Append or Update
- 選擇你的試算表和工作表。
- 將
Set
節點輸出的title
,full_link
,author
,date
等欄位,一一對應到你試算表中的欄位。
- Operation:
啟用這個工作流後,n8n 就會成為你忠實的資訊搜集員,每天自動為你彙整 PTT 電影版的最新動態!
進階應用與注意事項
- 排程頻率: 請尊重 PTT 伺服器的資源,不要將排程設定得過於頻繁(例如每分鐘一次)。對於大多數應用,每幾小時或每天執行一次已經足夠。
- 處理重複資料: 如果你持續將資料寫入同一個表格,你可能會需要一個機制來避免重複寫入。你可以在寫入 Google Sheets 前,先用
Google Sheets (Search)
節點,檢查文章連結是否已存在。 - 遵守網站規範: 自動化爬取網頁內容,應遵守該網站的 robots.txt 協議與使用條款。請以負責任的態度,在合理的範圍內使用爬蟲工具。

結語
n8n 徹底地將網站爬蟲這項技術,從程式開發者的專利,轉變為任何人都能輕易上手的視覺化工具。今天,你不僅學會了如何攻克 PTT 特有的 Cookie 驗證機制,更掌握了利用 HTML Extract
節點進行精準資料萃取的強大能力。
這套方法不僅適用於 PTT 電影版,你也可以將其稍作修改,應用到 Dcard、各大新聞網站、或是任何你需要持續關注的資訊來源上。現在,就動手打造你的第一個 PTT 爬蟲,讓 n8n 為你 24 小時不間斷地搜集與整理網路世界的寶貴情報吧!
更多精選文章請參考
n8n 與 Zapier 比較:該選哪個?2025年最完整功能、費用、優缺點分析
開源自動化工具推薦:從工作流程到測試,找到最適合你的免費方案
n8n 發送 Email 超詳細教學:從 SMTP 設定到 Gmail 節點串接,一篇搞定!
n8n Notion 串接終極指南:2025 年打造自動化工作流程,效率翻倍!