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

用 Apify + n8n 自動追蹤 PChome/momo/露天商品降價,不用每天手動比價

一句話: PChome/momo/露天都沒有官方「降價通知」,比價網也不保證收錄你要的那件商品。用 Apify 的商品搜尋 actor 排程抓價、n8n 的 Compare Datasets 節點比對前一次抓到的價格,跌價就發 Slack——一次設定,之後不用再自己開分頁比價。

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

為什麼要自己排程抓,不是等比價網通知

想追蹤某件商品什麼時候降價,實務上你的選項有限:手動比價(自己記得去查、容易忘記或錯過短檔促銷)、比價網訂閱(方便,但收錄的商品和站點是對方決定的,不一定涵蓋你要的那件、也不一定即時),或是自己抓資料。三個平台都沒有公開文件記載的「價格提醒」API 或 webhook——PChome 24h、momo購物網、露天拍賣的公開頁面都只顯示當下售價,要知道「昨天多少、今天多少」,本來就得靠自己記錄兩次以上的抓取結果去比對。

這正是 Apify 現成 actor + n8n 能補上的空白:actor 幫你把「打開頁面、解析售價」這件事變成一支 API;n8n 幫你把「排程跑、比對前一次、跌價就通知」串起來。整條 pipeline 一次設定好之後就不用再手動盯盤。(同一套「排程 → Apify → 判斷 → 通知」的形狀也能拿來做輿情監測,見用 n8n + GPT 串論壇輿情 pipeline。)

先看三條路

手動比價比價網訂閱自己排程抓(本篇教學)
涵蓋商品你想到才查對方收錄什麼就有什麼你指定的關鍵字/商品 ID,一定有
多平台比對自己開分頁切換通常已整合一次排程同時抓 PChome/momo/露天
降價才通知沒有,靠自己記得回去看部分比價網有訂閱功能用 n8n 的 IF 節點自訂跌價門檻
資料所有權無資料在對方平台原始 JSON 是你的,可以自己存歷史
前置門檻零,但花時間註冊帳號一次設定 n8n pipeline(約 20–30 分)

下面把「自己排程抓」這條路的做法攤開。

你會做出什麼

排程觸發  ──▶  Apify:跑 pchome-scraper/momo-scraper/ruten-scraper(依關鍵字搜尋)
(每天一次)        │
                  ▼
             統一欄位(把露天的 item_id 對齊成 product_id)
                  │
                  ▼
        Compare Datasets:比對「今天」vs「Google Sheet 存的昨天」
                  │
                  ▼
          價格變低的那幾筆 ──▶ 發 Slack 通知
                  │
                  ▼
       把今天的價格寫回 Google Sheet,當作明天比對的基準

你需要什麼

Step 1 — 排程觸發(Schedule Trigger)

加一個 Schedule Trigger 節點,設每天跑一次(例如每天早上 9 點)。促銷檔期通常以天為單位,一天一次的頻率就夠用;要盯搶購檔期可以自行調密一點。

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」、挑 pchome-scraper,輸入像這樣(欄位對照它的 input schema):

{
  "mode": "search",
  "keywords": ["Dyson V8"],
  "priceMax": 15000,
  "maxItems": 20
}

同一套流程再加兩個 Apify 節點,分別跑 momo-scraper(輸入格式相同,mode 固定是 "search")和 ruten-scraper(同樣 mode: "search"),關鍵字用同一組,再用一個 Merge 節點把三邊結果併起來。

⚠️ 欄位對不齊要注意:pchome-scraper 和 momo-scraper 的商品主鍵欄位叫 product_id,但 ruten-scraper 叫 item_id——三支 actor 是各自獨立開發的,欄位沒有強制對齊。合併前用一個 Edit Fields(Set) 節點把 item_id 複製成 product_id,不然後面比對「同一件商品」會對不起來。

Step 3 — 讀回昨天記錄的價格

加一個 Google Sheets 節點(操作選 Get rows),讀出你存的「上一次抓到的價格」那張表(欄位至少要有 product_id、price、title、product_url)。這是待會 Compare Datasets 節點要比對的另一邊。

Step 4 — 用 Compare Datasets 節點抓出跌價的商品

加 n8n 內建的 Compare Datasets 節點:Input A 接「今天抓到的資料」(Step 2 合併後的結果)、Input B 接「Step 3 讀到的昨天資料」,兩邊都用 product_id 當比對欄位。這個節點會分別輸出「只在 A 有」「只在 B 有」「兩邊一樣」「兩邊有差異」四種資料流——你要的是有差異那條,裡面就是今天和昨天售價不同的商品。

再接一個 IF 節點,篩出「今天的 price < 昨天的 price」(可以再加一個門檻,例如至少跌 5% 才通知,濾掉浮動誤差)。

Step 5 — 通知,並且把今天的價格存起來當明天的基準

把 IF 節點篩出的跌價商品送進 Slack 節點,訊息帶上商品標題、原價、現價、跌幅、product_url 連結。不管有沒有跌價,都要再用一個 Google Sheets 節點(操作選 Update or append)把今天抓到的全部價格覆寫回那張表——這樣明天這條 pipeline 才有「昨天」可以比。

不想裝節點?用 HTTP Request 節點打 API

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

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

{ "mode": "search", "keywords": ["Dyson V8"], "priceMax": 15000, "maxItems": 20 }

要注意的限制:這個同步端點的 run 必須在 300 秒內跑完,逾時會回 HTTP 408(官方文件)——maxItems 別一次開太大,量大就改用「非同步啟動 + 取資料」兩段式呼叫。

實際要花多少

三支 actor 都是按實際抓到的筆數計費(PPE),官方文件明訂平台每次 run 會另收一次性的 apify-actor-start 事件($0.005);資料本身依模式收費,現在的定價可以直接在各 actor 的 store 頁看到即時的計費事件表:

事件單價適用
search-listing(搜尋結果每筆)$0.002pchome-scraper、momo-scraper、ruten-scraper
product-detail(商品詳情每筆)$0.008pchome-scraper、ruten-scraper(momo-scraper 目前只有搜尋模式)

以「3 個關鍵字 × 3 個平台、每個關鍵字抓 20 筆、每天跑一次」估算,一天約 180 筆搜尋結果、成本約 $0.36/天(另加三支 actor 各一次的 apify-actor-start,一天約 $0.015),一個月抓下來大概是個位數到十來塊美金,比訂閱任何付費比價服務都便宜。n8n 自架免費、Google Sheets 免費,整條 pipeline 真正的花費幾乎全在 Apify 這一段。要換成你自己的關鍵字數與抓取量,用 Apify 成本計算機直接算。

三條路,挑一條開始

FAQ

PChome/momo/露天真的沒有官方降價通知嗎? 三個平台的公開頁面都只顯示當下售價,沒有公開文件記載的價格歷史或降價提醒 API;要知道漲跌只能自己記錄多次抓取結果去比對,這正是本篇 pipeline 在做的事。

可以用 LINE Notify 發通知嗎? 不行了。LINE Notify 已在 2025 年 3 月 31 日終止服務,包含 API、個人頁面與 token 核發全部停止。網路上很多舊教學還在教 LINE Notify,照做會直接失效;本篇改用 Slack,要用 LINE 生態的話得改走 LINE 官方的 Messaging API。

momo-scraper 為什麼沒有商品詳情模式? 目前(v1.0)momo-scraper 只支援搜尋模式,商品主頁的詳情與評論還沒有開放——這點在它的 input schema 上寫得很清楚,用搜尋模式抓到的售價、原價、折扣欄位已經足夠做本篇的跌價比對。

三支 actor 的商品編號欄位都一樣嗎? 不一樣。pchome-scraper/momo-scraper 用 product_id,ruten-scraper 用 item_id——合併資料前記得先對齊欄位名稱(見上面 Step 2 的提醒),不然 Compare Datasets 節點會比對不到同一件商品。

這樣抓合法嗎? 我們只抓公開的商品頁面內容,不登入、不碰會員專屬資訊。使用前建議自行確認你所在地區的法規與平台條款對你的用途的適用性。


作者 Chad 實際經營 40+ 隻上架 Apify actor(含本文用到的 pchome-scraper、momo-scraper、ruten-scraper),上面每個計費數字都直接對照 actor 的 store 頁與官方 PPE 文件;n8n 節點的行為與限制也都連到官方文件,查不到來源的東西這篇不寫。