AI Social API
更新於 2026-09-01 · Chad

用 Apify + n8n + GPT 串一條免寫程式的論壇輿情 pipeline(PTT × Mobile01)

一句話: 用 Apify 的論壇爬蟲抓 PTT/Mobile01 某個板,透過 n8n 排程自動跑,讓 GPT 幫每篇標正/負/中立,情緒一翻就發 Slack 警報——不用寫爬蟲、不用養破版。範例是 PTT + Mobile01,換個 actor 同一套就能監測連登、HardwareZone、巴哈。

本文含 Apify 推薦連結(不影響你的費用)。文中的成本與比較都據實列出,包含 Apify 不划算的情況。

為什麼自己串,而不是買輿情工具

企業級輿情系統很好——如果你有預算、想要現成的儀表板和分析師服務。但如果你只是要盯幾個板、看大家對你的產品/一次上市/競品的風向,這條 pipeline 一個下午就能自己組起來,而且原始資料是你的

以前的麻煩在爬蟲:論壇改版、翻頁、年齡牆,你的爬蟲三天兩頭壞。Apify 把這半邊收掉(actor 幫你維護,你按筆付費);n8n 把另一半收掉(用拖拉的節點把「抓資料 → GPT → 警報」串起來);GPT 則做關鍵字規則做不到的事——它讀得懂鄉民的反串、酸文和縮寫,情緒還是判得準。

你會做出什麼

排程觸發  ──▶  Apify:跑 ptt-scraper(+ mobile01-scraper)取回資料
(每 6 小時)        │

              去掉看過的  ──▶  GPT 情緒判斷:正/中/負


          寫進試算表  ──▶  負面爆量 → 發 Slack 警報

每個方框都是一個「點一點就接起來」的節點。整條沒有程式(只有一個選用的去重複 Code 節點,下面也給了免寫程式的替代)。

你需要什麼

Step 1 — 排程觸發(Schedule Trigger)

加一個 Schedule Trigger 節點,設每隔幾小時跑一次(例如每 6 小時)。這就是你的「去巡板」心跳。設定時也能手動觸發來測試。

Step 2 — 用 Apify 節點抓文

安裝官方 Apify 節點(@apify/n8n-nodes-apify,Apify 維護、n8n 認證 — 雲端和自架都能用)。把你的 Apify API token 加成憑證(Apify Console →「Settings → API & Integrations」)。

加一個 Apify 節點,選 「Run Actor and get dataset items」 操作、挑 ptt-scraper,輸入像這樣:

{
  "mode": "board",
  "boards": ["MobileComm"],    // 你要盯的 PTT 板(可多個)
  "keywords": ["你的品牌"],     // 用標題關鍵字過濾
  "maxItems": 100
}

回來就是乾淨的 JSON:標題、作者、推噓數、時間、網址。想同一次也抓 Mobile01,就再加一個 Apify 節點跑 mobile01-scrapermode: "forum"),再用一個 Merge 節點把兩邊併起來。

💡 為什麼用 Apify 而不是自己爬?PTT 的年齡牆、Mobile01 的翻頁、還有以後每一次破版,全部由 actor 那端維護。你付的是實際抓到的筆數(列表約 $0.002/筆),不是你 debug 的工時。

Step 3 — 跳過看過的文

排程一直跑,同一批文會被重抓。加一個 Code 節點(或免寫程式:用 n8n 的 Remove Duplicates 節點,以貼文網址為鍵)去重,讓 GPT 只評文——這樣 token 帳單才不會爆。

Step 4 — 讓 GPT 判情緒

加 n8n 內建的 Sentiment Analysis 節點(屬於它的 AI/LangChain 節點群),接上一個 OpenAI Chat Model 子節點。它會把每篇分成正/中/負——而且因為是 LLM,繁中、鄉民黑話、反串它都吃得下,這正是關鍵字清單漏掉的部分。想要不只情緒(還要緊急度、主題、一句原因)?改用 AI Agent 節點配結構化輸出提示就行——這正是 Apify 官方那篇 Reddit 品牌監測教學的做法,套到這條 pipeline 是一比一對應。

Step 5 — 記錄下來、風向一翻就通知

把每篇評好的文送進 Google Sheet(你的情緒紀錄表),再加一個 IF 節點:這一輪負面比例超過門檻,就發一則 Slack 訊息。這樣某個 PTT 串在變成新聞之前,你每 6 小時就會自動收到風聲。

不想裝節點?用 HTTP Request 節點

不想裝社群節點的話,用 n8n 的通用 HTTP Request 節點直接打 Apify REST API:

POST https://api.apify.com/v2/acts/claude_code_reviewer~ptt-scraper/run-sync-get-dataset-items
Authorization: Bearer <你的_APIFY_TOKEN>
Content-Type: application/json

{ "mode": "board", "boards": ["MobileComm"], "keywords": ["你的品牌"], "maxItems": 100 }

這一個呼叫就會跑 actor 並回傳資料。有個限制要知道:這條同步端點的 run 必須在 300 秒內跑完,否則會逾時(HTTP 408)——所以每次 maxItems 別開太大,大量抓取就改用「非同步啟動 + 取資料」的兩段式。

實際要花多少

加起來一條能跑的 pipeline 通常一個月幾美金——對照企業級動輒五、六位數的年約,而且原始 JSON 是你的、隨你再利用。

三條路,挑一條開始

FAQ

真的不用寫程式? 不用。每一步都是 n8n 節點。唯一選用的程式是一行去重,而且也有免寫程式的節點可替代。

台灣以外的論壇也能用嗎? 可以——換個 Apify actor 就好。同樣「排程 → Apify → GPT → 警報」的形狀,連登(香港)、HardwareZone(新加坡)、巴哈(遊戲)都適用。Apify 官方那篇 股市情緒教學就用同一個節點抓 Twitter 和 Yahoo Finance。

GPT 真的讀得懂中文論壇情緒? 讀得懂,而這就是重點——現在的模型處理繁中黑話和反串,遠比多數便宜工具用的關鍵字字典準。

要用 Cloud 還是自架 n8n? 都行。Apify 節點在 n8n Cloud(已認證)和自架都能跑。自架免費;Cloud 省你維運。

這樣抓合法嗎? 我們只抓公開內容、不抓需登入的資料。爬蟲的法律界線(尤其台灣近期判例)我們另有專文,建議先讀。


作者 Chad 實際經營 40+ 隻上架 Apify actor(含本文用到的 ptt-scrapermobile01-scraper),上面每個數字都來自真正在跑的資料管線;n8n 與 Apify 的整合細節都連到它們的官方文件。