跳到主要內容
營運10 分鐘
作者:何佳勳·電商行銷顧問,十多年電商操盤與 AI 工具實戰

🕵️ 電商競品價格爬蟲完全指南:每日 2 次監測 SOP × 法律邊界 × 免寫程式做法

電商賣家做價格情報必看:完整拆解競品價格監測 SOP、Google Apps Script 比價爬蟲範本、降價警報應對策略、台灣法律灰色地帶與免寫程式替代方案。

為什麼台灣電商一定要監測競品價格?

2026 年蝦皮 / momo / PChome 的競爭已經逼到「同一支保溫瓶,三個賣家三個價」的局面。沒在看競品價格的賣家,每個月通常會發生兩種狀況:第一,半夜不知道對手悄悄降價 12%,隔天訂單掉一半;第二,跟同業殺到見骨,毛利剩 8%,做白工。

根據台灣電商產業協會 2026 Q1 報告,有做價格情報的賣家相較沒做的,平均毛利率高 6.4 個百分點,月營收平均高 23%。這不是因為他們會殺價,而是因為他們知道「什麼時候不該跟」。

舉個實例:去年 10 月一間賣保健食品的小品牌,發現對手在週末固定降價 15% 衝量。他們的對策不是跟降,而是把週五傍晚改成「滿千送限量贈品」,週末訂單反而比對手多 30%。這就是價格情報帶來的決策優勢。

監測競品的目的有三:

  • 防守:對手降價時提早 12 小時知道,不會被偷襲
  • 進攻:對手缺貨時拉一波廣告搶單
  • 定價:知道市場底線,自己不會殺過頭

但價格爬蟲牽涉技術、法律、運營成本三個面向,沒搞清楚會把好事做成麻煩。

不只抓價格:5 個關鍵欄位才能做出對策

多數新手做價格監測只抓「售價」這一個數字,這樣的監測表沒辦法做決策。一份真正能用的競品監測表,至少要 5 個欄位。

1. 當前售價(含促銷後價格)

這是最基本的。注意要抓「實際結帳時付的錢」,不是劃線價或原價。蝦皮的價格藏在

,momo 則是
價格
後面的

2. 原價(劃線價)

有原價跟售價兩欄,才能算出對手的「折扣力度」。如果對手平常 8 折,這檔突然 6 折,就是促銷檔期,可能 3 天後就回。

3. 庫存狀態(現貨 / 補貨中 / 售完)

這欄是被忽略的金礦。對手「售完」狀態維持 > 2 天,代表他們補不上貨,這時候你拉廣告搶單最有效。

4. 促銷標籤(限時 / 滿千折百 / 買一送一)

讓你判斷對手是「真降價」還是「玩促銷話術」。例如標「限時 24 小時」但 7 天後價格沒變,就是行銷話術,不用恐慌。

5. 評價數與星等

用來判斷該商品熱賣度。新評價速度(每週新增多少則)比總評價數重要——可以看出對手最近銷量趨勢。

進階版可以加:上架日期、運費、商品圖 URL(看主圖是否改版)、賣場名稱(連動公司資料庫,避免抓到非競品)。

Google Apps Script 完整範本(免費、夠用、零維護)

不會寫程式的賣家最容易掉進「以為要付月費請工程師」的陷阱。其實 Google Sheets + Apps Script 就能做出 80% 賣家需要的監測,每月成本 0 元。

完整步驟:

步驟 1:開一個新的 Google Sheet

A 欄:競品名稱 / B 欄:URL / C 欄:當前價格 / D 欄:上次價格 / E 欄:最後檢查時間 / F 欄:價格變動 %。

步驟 2:擴充功能 → Apps Script

const LINE_TOKEN = '你的_LINE_NOTIFY_TOKEN';
const THRESHOLD = 0.05; // 5% 變動才通知

function checkCompetitorPrices() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const data = sheet.getRange('A2:F11').getValues();
  const now = new Date();

  data.forEach((row, i) => {
    const [name, url, lastPrice] = row;
    if (!url) return;

    try {
      Utilities.sleep(3000 + Math.random() * 5000); // 3-8 秒隨機延遲
      const html = UrlFetchApp.fetch(url, {
        muteHttpExceptions: true,
        headers: { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)' }
      }).getContentText();

      // 蝦皮: "price":89000 (要除以 100000)
      // momo: <meta itemprop="price" content="890">
      let price = null;
      const shopeeMatch = html.match(/"price":(\d+)/);
      const momoMatch = html.match(/itemprop="price" content="(\d+)"/);
      if (shopeeMatch) price = parseInt(shopeeMatch[1]) / 100000;
      else if (momoMatch) price = parseInt(momoMatch[1]);

      if (!price) return;

      // 寫入當前價格
      sheet.getRange(i + 2, 3).setValue(price);
      sheet.getRange(i + 2, 5).setValue(now);

      // 計算變動
      if (lastPrice) {
        const change = (price - lastPrice) / lastPrice;
        sheet.getRange(i + 2, 6).setValue((change * 100).toFixed(1) + '%');

        if (Math.abs(change) > THRESHOLD) {
          notifyLine(`[價格警報] ${name}\n${lastPrice} → ${price}(${change > 0 ? '↑' : '↓'}${Math.abs(change * 100).toFixed(1)}%)`);
        }
      }

      // 把這次價格存到 D 欄當下次比較基準
      sheet.getRange(i + 2, 4).setValue(price);
    } catch(e) { Logger.log(e); }
  });
}

function notifyLine(msg) {
  UrlFetchApp.fetch('https://notify-api.line.me/api/notify', {
    method: 'post',
    headers: { Authorization: 'Bearer ' + LINE_TOKEN },
    payload: { message: msg }
  });
}

步驟 3:設定觸發器

Apps Script 編輯器左側「觸發條件」→ 新增觸發條件 → 選擇 checkCompetitorPrices → 時間觸發 → 每日 → 早上 9-10 點。再加一個晚上 8-9 點。

步驟 4:申請 LINE Notify Token

https://notify-bot.line.me/my/ → 發行權杖 → 選你的個人或群組 → 複製 Token 貼到程式碼第 1 行。

設定完成後完全自動,每天 2 次推 LINE,價格變動超過 5% 才推,不會被吵爆。整套月成本 0 元。

降價 / 漲價 / 缺貨:3 種警報的應對 SOP

抓到資料只是第一步,知道怎麼用才有價值。針對 3 種常見警報,給你 3 套對策。

降價警報應對 SOP(最常用)

對手降價 5-10%:

  • 觀察 24 小時,看我方訂單有沒有掉
  • 沒掉 → 對手是促銷,不用跟
  • 掉 5-15% → 用「滿額免運」「贈品」應對,不直接降價
  • 掉 > 15% → 跟降 50%(例如對手降 10% 我們降 5%),守住市佔

對手降價 > 10%:

  • 立刻檢查對方是不是出清庫存(看品名是否有「最後一批」「庫存出清」)
  • 如果是出清:我們不跟,等他賣完,3 週後價格會回
  • 如果是長期降:開緊急會議,重新檢視成本結構

漲價警報應對 SOP

對手漲價 > 8%:

  • 不要跟漲,先觀察 7 天他的銷量
  • 銷量沒掉 → 市場接受,我們 14 天後也可漲 3-5%
  • 銷量掉 > 20% → 我們保持原價,搶走他的客人

缺貨警報應對 SOP(最被忽略的機會)

對手「售完」狀態維持 > 48 小時:

  • 立刻在我方商品頁加「現貨快速出」「24 小時內出貨」標籤
  • 拉一波關鍵字廣告(用對手的品牌名 + 我們的商品名)
  • 用「補貨慢的話可以選我們」當文案角度
  • 缺貨期一週可以搶 30-50% 的對方流量

通知格式範本(LINE Notify)

[價格警報] 2026/06/07 09:15
競品:A 牌經典款
舊價:$890 → 新價:$790(↓ 11.2%)
我方價格:$880(價差 +$90)
建議:今天先觀察流量,明天若我方訂單 ↓ 15%,跟降至 $820

LINE Notify 的好處是手機推播秒收到,不會像 email 漏看。整個應對流程從「對手降價」到「我們上對策」可以壓在 30 分鐘內。

完全不會寫程式?5 個免寫程式替代方案

不是每個老闆都有時間學 Apps Script。如果你連複製貼上程式碼都怕,下面 5 個替代方案任選一個都能上線。

方案 1:Google Sheet 的 IMPORTXML(免費)

=IMPORTXML("https://shopee.tw/product/123/456", "//div[@class='price']")

直接在儲存格貼公式,每小時自動更新,0 元。缺點:對 JavaScript 渲染的頁面(蝦皮 SPA)成功率較低。適合 PChome、官網、ShopBack 這類靜態頁。

方案 2:EZprice 比價網(免費 + 付費)

台灣本土比價網,有付費 API 可以串。優點:合規、不用自己爬。缺點:商品覆蓋率不到 60%,冷門品抓不到。月費 NT$1,200 起。

方案 3:Prisync(付費)

國際知名價格監測 SaaS,支援 100+ 電商平台。每天自動抓 + Email 通知,介面友善。缺點:對蝦皮、momo 支援度低。月費 USD 99 起(約 NT$3,200)。

方案 4:Price2Spy(付費)

針對 B2B 動態定價的工具,可以做大量級監測(500-10,000 個 SKU)。缺點:英文介面、月費 USD 200 起(約 NT$6,400)。適合中大型品牌。

方案 5:請外包工程師(一次性 NT$8,000-15,000)

如果你怕長期續訂 SaaS,可以在 104 外包網或 PRO360 找工程師寫一次性爬蟲,丟到 Google Sheet 上跑。優點:客製化、永久使用。缺點:對方離職後沒人維護。建議搭配 Apps Script 而非 Python,後續比較好接手。

選擇建議

  • 月營收 < 50 萬:用方案 1(Google Sheet IMPORTXML)
  • 月營收 50-300 萬:用我們工具產出的 Apps Script 範本
  • 月營收 > 300 萬:直接買方案 3 或 4,省下自己維護的時間
  • 想長期累積資產:花一次錢請外包寫,後續自己改維護

不論選哪個,核心是「持續做」。做 3 天沒效,做 3 個月你會發現自己的定價直覺完全不同。

常見問題

Q: 我可以爬蝦皮的銷售數量嗎?這算公開資訊嗎?
蝦皮商品頁顯示的「累積銷售」、「30 天銷量」屬於公開可見的數據,理論上可以爬。但實務上蝦皮有反爬蟲機制,銷量數字常用 JavaScript 動態載入,靜態 HTML 抓不到。要抓的話需要用 Puppeteer 或 Playwright 模擬瀏覽器,技術門檻高。建議只抓「價格」這個核心欄位就好,銷量趨勢可以從「評價數每週增加多少」推估,間接但夠用。
Q: 我爬到競品價格後,可以直接用在 Google 廣告投放上嗎?
可以,但有兩個地方要注意:第一,Google Ads 廣告文案不能直接寫「比 A 牌便宜 NT$100」這種具名比較,可能違反廣告政策。可以寫「市場最低價之一」「比同類產品省 30%」這種非具名說法。第二,動態關鍵字插入(DKI)裡不要塞競品品牌名,這違反商標規範會被停用廣告帳號。安全做法:把競品價格當「內部決策依據」,廣告文案維持非具名表述。
Q: 對手在週末才降價,我每天 2 次抓會不會錯過?
不會錯過,但要設對時段。建議每日 2 次設在「早上 9:00 + 晚上 20:00」,這兩個時段大部分對手都已經上完當天的促銷。如果你的品類對手特別會週末偷襲,可以加碼「週五 18:00 + 週六 10:00 + 週日 18:00」三個額外時段。Apps Script 觸發器最多可以設定 20 個,加幾個時段對配額沒影響。
Q: 抓到的競品價格資料要保存多久?放哪裡比較安全?
建議保存 6-12 個月,因為這樣才能看出「年度週期」(例如 11 月雙 11、6 月電商節)的定價規律。儲存位置最方便是 Google Sheet(每張表上限 1,000 萬格,夠用),進階一點可以丟到 BigQuery(免費額度每月 1TB 查詢)做趨勢分析。資料保密性:競品價格屬於營業秘密保護等級,建議 Google Sheet 設權限「僅特定人員可看」、不要設成連結公開。
Q: 對手降價的時候,跟降跟「滿額免運」哪個對毛利比較好?
幾乎都是「滿額免運」勝出。直接降價 10% 會讓所有訂單毛利同步少 10%;改成「滿 $1,000 免運」則只有訂單金額 < $1,000 的顧客需要被影響(通常 < 40%),而且免運的實際成本約 NT$80,比降價 10% 便宜很多。實測一間月營收 200 萬的賣家,從「跟降 10%」改成「滿千免運 + 加贈體驗品」後,毛利率從 22% 拉回 28%,訂單量還多 8%。

立即免費使用電商營運工具箱

192 個 AI 驅動的電商工具,解決你每天最痛的營運問題

開始使用 →

延伸閱讀