2026年10月31日 星期六

不寫爬蟲也能自動抓特價!我如何用 Google 試算表與 AI 打造好市多降價通知神器

美式賣場好市多(Costco)每期的特價優惠總能吸引大批人潮,但對於非每週踩點的會員、或是非會員卻想精準鎖定特定商品的消費者來說,隨時盯著官網刷價格不僅極其繁瑣,還非常容易錯過限時折扣檔期。
為了解決這個生活痛點,我透過 Google 試算表(Google Sheets) 結合 AI 工具(ChatGPT 與 Google AI Studio),打造出一套「每日自動檢查價格變動、降價或特價結束恢復原價時即時發送 Email」的自動化通知系統。最令人驚喜的是,這套系統完全不需要撰寫複雜的 Python 網頁爬蟲。
本文將為你深度拆解這套低程式碼(Low-Code)自動化流程中,最具實用價值與啟發性的四大關鍵洞察。

洞察一:妥協的技術哲學——「公式 + 手動」比硬幹爬蟲更穩固
剛開始構思這個系統時,直覺會想在 Google Apps Script 中撰寫網頁爬蟲程式(Web Scraper),試圖全自動抓取好市多官網上的所有頁面資訊。然而實際測試後發現,官網的網頁結構對於單純的指令腳本極不友善,Apps Script 很難穩定且解析出正確的商品原價與折扣細節。
面對技術瓶頸,我選擇了靈活的「混合自動化模式」(Hybrid Automation):
  • 明確的欄位分工:在 Google 試算表中劃分欄位,商品的「商品原價」與「線上原價」由使用者手動輸入一次(因為商品基準原價通常長期保持固定);而最具時效性的動態欄位「目前價格」,則利用試算表內建的 import 類公式自動擷取官網線上頁面的當前售價。
  • 低維護成本:將原本需要高強度解析 HTML 的工作,簡化為公式比對「目前價格」與基準價的價差。
「不用寫爬蟲、原價自己打上去,只要有特價通知我就夠了!」
專欄點評:許多自動化愛好者容易陷入「100% 自動化」的迷思,認為手動輸入就是不夠高明。但事實證明,適度接受手動維護固定靜態資料,將複雜的網頁解析降級為簡潔公式,系統反而能避開網站改版造成的腳本崩潰,達到極高的穩定度與維護性。

洞察二:把 AI 當雙向協作工程師——從 ChatGPT 靈感到 AI Studio 的精準 Constraint
要讓 AI 產出真正可用且簡潔的程式碼,關鍵在於分工定位與下達明確的「約束條件(Constraint)」:
  1. 階段一:概念驗證(ChatGPT) 先以直白的情境向 ChatGPT 提問:「我想用試算表查詢台灣好市多某一商品是否有特價」,並提供特定商品網址進行可行性評估。ChatGPT 確認了以試算表搭配腳本處理的可行性,幫助建構初步架構。
  2. 階段二:程式精準生成(Google AI Studio) 轉向 Google AI Studio 請求生成 Google Apps Script 腳本。初始生成的程式碼習慣性包含發送 HTTP 請求去爬取網頁的邏輯,這時必須下達精準的提示修正:
「不用寫爬蟲,我已經有使用公式了(透過 import 抓好當前價格)。你只要幫我專注在比對價格異動與發送郵件的邏輯即可。」
AI 收到這項約束後,迅速刪除多餘的爬蟲模組,產出一份結構乾淨、專注於邏輯判斷與 Email 觸發的輕量化腳本。
專欄點評:與 AI 協作時,不要期待 AI 幫你做完全部決策。清晰交代「既有條件」(已用公式抓好價格)與「核心目的」(比對與發信),給予 AI 明確的邊界,才能讓 AI 生成最適解法。

洞察三:Event-Driven 事件驅動通知——只在「改變」時發聲,打造不打擾的自動化
沒有人希望自己的電子信箱每天被「價格未變動」的無意義郵件洗版。這套系統的 Apps Script 採用了「事件驅動(Event-Driven)」機制,系統會記錄並比對上一次檢查的狀態,僅在商品的價格「狀態發生改變」時才觸發寄信通知:
  • 開始特價首次通知:當系統偵測到商品價格低於原價,發送降價喜訊。信件格式清晰包含商品名稱、原價、特價金額、省下的金額與直接購買連結。
【好市多商品價格異動 - 開始特價首次通知】
  • 商品:善存 葉黃素 液態軟膠囊 140 顆
  • 線上原價:1029 元 | 目前特價:829 元(節省 200 元)
  • (信件內附直連購買連結)
  • 特價結束恢復原價通知:當特價檔期結束、商品價格回升時,系統同樣會發出狀態變更通知:
【好市多商品價格異動 - 以下商品特價已結束恢復原價】
  • 桂格 減糖 黑十穀(恢復原價 369 元)
  • 明治 奶油三明治家庭號(恢復原價 359 元)
自動化排程設定
在 Apps Script 的「觸發條件(Triggers)」中,設定為「時間驅動(Time-driven)」,選用「日計時器」,指定每天早上 7 點至 8 點 自動執行。每天晨喚時,系統就已經自動比對完畢並完成回報。
專欄點評:好的自動化系統不只要能運作,更要懂得「不打擾」。狀態改變才通知的思維,能有效避免資訊疲勞,真正提升數位生活品質。

洞察四:邊界思維——理解工具極限,手動排除特殊商品
任何自動化方案都有其適用邊界。在測試過程中,系統也展現出了特定的極限:
  • 特殊標示商品無法自動抓取:官網上部分標示為「獨家特賣」的商品(例如:明治牛奶雪糕等),因為頁面上完全沒有標示公開的線上售價資訊,導致試算表中的 import 公式會回傳錯誤訊息:
"檢查不到價格 / 找不到"
實務排除建議:一旦公式傳回「檢查不到價格 / 找不到」,代表該商品的網頁結構無法被公開抓取。身為使用者,無須硬幹程式,直接將該商品手動從自動化清單中移除即可。
專欄點評:理解工具的極限與邊界條件(Edge Cases),並在邊界外適時以手動干預接管,是確保整體自動化系統穩定運作不崩潰的重要素養。

結尾:四步驟輕鬆複製,開啟你的生活小自動化
想要擁有專屬的好市多降價報喜神器嗎?跟著以下四個步驟即可快速部署:
  1. 建立副本與允許存取:取得試算表範本並複製到個人 Google 雲端硬碟,開啟試算表時,點選上方出現的 「允許存取」,授權試算表向外部網頁擷取資料。
  2. 填寫商品資料與複製公式:填入欲追蹤的 商品名稱、商品連結、商品原價 與 線上原價,並向下拖曳複製 import 公式,使 目前價格 欄位成功帶出當前售價。
  3. 部署 Apps Script 與完成權限審核:
    • 進入點選 擴充功能 > Apps Script,在程式碼中填入你接收通知的 Email。
    • 手動選擇並執行一次 check商品是否折扣 函式。此時系統會彈出權限審核視窗,點選 進階 > 前往不安全視窗 > 勾選全選權限 > 繼續/允許 完成首次授權。
  4. 設定時間驅動觸發器:在 Apps Script 左側選單點選「觸發條件」,新增觸發條件:設定事件來源為 「時間驅動」、類型為 「日計時器」,指定執行函式為 send notify email,時間選擇每日 早上 7 點至 8 點。
簡單幾步,就能打造出完全屬於你的數位生活神隊友!

思考題:在你每天的生活或工作中,還有哪一個重複性高、繁瑣卻極有價值的小動作,可以用這套「AI + 試算表」的思維重新設計一次?不妨今天就動手嘗試吧! 



2026年10月24日 星期六

【0 元電商實戰】用 Google 試算表與 GAS 打造 LINE 訂單系統:5 個不可不知的顛覆性設計觀點

在微型創業與個人品牌營運的初期,許多創業者(例如農場養生食品、滴雞精賣家)常面臨相同的兩難:渴望提供顧客順暢便利的線上下單體驗,卻被市面上電商平台高昂的月租訂閱費、交易抽成以及複雜的金流串接手續嚇退。
為了協助堂哥銷售「香純滴雞精」,知名科技創作者蔡明和(彰化一整天)進行了一場極具參考價值的輕量化系統架構實驗。他借助 AI Studio 的輔助進行系統規劃與程式碼生成,以 Google 試算表(Google Sheets)作為後端資料庫,搭配 Google Apps Script (GAS) 充當無伺服器(Serverless)後端邏輯,並結合 LINE Bot 作為前端互動介面,打造出一套營運成本與伺服器維護費用直接「歸零」的最小可行性產品(MVP)。
這套系統不僅實現了 LINE 會員自動綁定、線上購物表單、自動計算運費、訂單查詢與狀態追蹤,其背後的架構設計更蘊含了許多打破傳統電商思維的工程實踐。本文將從系統架構師的思維角度,深度拆解這套 0 元訂單系統中最具啟發性的 5 個顛覆性設計觀點。

核心觀點一:放棄線上刷卡,伺服器成本直接「歸零」且穩定度大增
在規劃電商系統時,許多人的第一直覺是串接綠界等第三方信用卡金流。然而,在 GAS 結合 LINE Bot 的無伺服器架構中,過度追求「自動刷卡」反而是一個巨大的技術陷阱。
為什麼第三方金流是 GAS 的架構噩夢?
金流平台(如綠界)在完成線上刷卡交易時,極度依賴伺服器對伺服器(Server-to-Server)的非同步 HTTP POST Webhook 回傳機制與頁面轉址。然而,GAS 運行的基礎架構在處理外部 HTTP 轉址(HTTP 302 重導向)與 Webhook 回呼時,容易因狀態丟失或回應超時(Timeout)而導致接收失敗,進而造成「顧客付了錢,系統卻未更新訂單狀態」的致命故障。
解決方案:回歸雙軌輕量支付
為了徹底解決此瓶頸,作者果斷拿掉線上刷卡功能,將付款方式重構為「銀行轉帳(顧客填寫匯款後 5 碼)」與「黑貓貨到付款」。
「如果拿掉線上刷卡,改回一般銀行轉帳...或黑貓貨到付款,這樣做的好處是完全不需要串接綠界第三方金流。避開了 GAS 最難搞的金流伺服器接收回傳轉址的問題...難度會大幅降低,伺服器成本直接為零。」
架構師觀點:少即是多的 MVP 哲學
透過切斷多方同步依賴(Multi-party Synchronous Dependencies),系統不再需要處理複雜的金流 Exception 處理機制與高成本的高可用性(HA)伺服器。這種「少即是多」的極簡取捨,不僅讓伺服器維護成本降至 0 元,更讓系統穩定度達到近乎 100% 的極致表現。

核心觀點二:別盲目追求「萬用版」!專為產業特性客製化才是勝出關鍵
許多開發者在打造系統時,常陷入「企圖開發出一套適用所有產業的萬用版電商」的迷思。本系統開發初期也曾嘗試走通用化路線,但隨即發現不同產業的物流溫層、促銷邏輯與結帳流程差異極大,導致通用版系統龐雜且難用。作者果斷放棄萬用版,轉而專注為「滴雞精」這個品類打造極致客製化的專用流程。
滴雞精產品的客製化邏輯
針對農場養生食品的真實業務情境,系統內建了高度契合營運需求的邏輯機制:
  1. 多溫層運費計算機制:系統能精準區分「常溫包裝」與「冷凍包裝」,並各自套用獨立的免運費門檻算法。
  2. 黑貓冷凍宅配階梯式代收手續費:精確整合傳統物流的代收手續費階梯級距:
    • 訂單金額 $0 - $2,000 元:手續費 $30 元
    • 訂單金額 $2,001 - $5,000 元:手續費 $60 元
    • 最高階梯至 $100,000 元:手續費 $300 元
  3. 無程式碼(No-Code)動態促銷區間切換:
    • 運作機制:在 Google 試算表的設定頁籤中,為各項產品規劃 TRUE/FALSE 顯示開關,並結合「日期區間」儲存格(例如母親節檔期、中秋節檔期,或每個月 15 號的品牌日)。
    • 零維護效益:非技術背景的商家只需在試算表修改日期或勾選開關,GAS 在執行期(Runtime)便會動態讀取並渲染對應的優惠方案,完全無需修改或重部署任何後端程式碼。

核心觀點三:AI 寫程式很強,但資安關鍵(Script Properties)仍需人工把關
在開發過程中,AI Studio 展現了驚人的程式碼生成效率,迅速幫作者產出基礎架構。然而,AI 所生成的初始程式碼,往往會將敏感的金鑰(如 LINE Channel Access Token)直接寫死(Hardcode)在腳本中,這在版控與團隊協作上是嚴重的資安漏洞。
作者及時糾正 AI 的作法,要求將 Token 抽離,改存放在 GAS 的「腳本屬性(Script Properties)」環境變數中,並建立標準化的部署作業流程。
💡 架構師實戰 Tips:完整的部署與安全設定 4 步驟
  1. 配置腳本屬性(Script Properties):從 LINE Developer Console 複製 Channel Access Token,進入 GAS 專案設定 $\rightarrow$ 新增「腳本屬性」,將金鑰安全存入環境變數。
  2. 部署 Web App 權限:進行網絡應用程式部署,將「誰可以存取(Who has access)」設為「所有人(Anyone)」,並完成首次 GCP/GAS 帳戶存取權限授權(包含 Gmail 與 Sheets 存取權)。
  3. 開啟 LINE Webhook:進入 LINE Developer Console 的 Messaging API 設定頁面,貼上 GAS 的部署網址,並務必將 Use Webhook 開關設為 ON。
  4. 關閉原生自動回應:進入 LINE 官方帳號管理後台,將預設的 Auto Reply Message(自動回應)關閉。若未關閉,當顧客傳送訊息時,LINE 預設機器人會與 GAS Webhook 同時發送訊息,導致顧客收到雙重回覆。
[LINE 官方帳號設定關鍵]
Auto Reply Message (自動回應) ──> 必須設為 OFF (關閉)
Use Webhook (使用 Webhook)    ──> 必須設為 ON  (開啟)

核心觀點四:聰明繞過 LINE 免費訊息限制,改用 Email 實現自動化訂單通知
LINE 官方帳號針對免費方案僅提供每月 200 則的主動推播訊息(Push Message)。若每當有顧客下單或回報匯款時,系統都透過 LINE API 發送 Push 訊息通知商家管理員,額度眨眼間就會耗盡。
「Pull 模式查詢 + Email Push 警示」的混合架構
為了突破成本瓶頸,本系統設計了一套巧妙的訊息分流架構:
[顧客側 (Pull 模式)] ──> LINE 點擊「查詢訂單」 ──> GAS 實時查詢 Google 試算表 ──> 回傳狀態 (不計推播額度)
[商家側 (Push 模式)] ──> 顧客完成下單/回報 ──> GAS 呼叫 Gmail API ──> 發送郵件至管理員信箱 (免費且即時)
  1. 商家通知參數化:系統將管理員接收通知的電子郵件(通知誰)設定在 Google 試算表的設定儲存格中。若未來營運人員更換信箱,直接修改試算表內容即可,無需改寫程式。
  2. 無上限的 Email 警示:顧客下單或填寫匯款後 5 碼後,GAS 透過內建的 Gmail API 免費寄出通知信,信件內含顧客的 LINE 暱稱(便於對照身分)、完整訂單明細、金額與送貨地址。
  3. 顧客自主 Pull 查詢:顧客主動在 LINE 聊天室點擊選單查詢訂單時,系統採用被動響應(Reply Message)機制,不計入每月 200 則的 Push 免費額度。

核心觀點五:魔鬼藏在體驗裡!自動帶入歷史地址與關鍵字 FAQ
即便是一套 0 元成本的 MVP 系統,只要在使用者體驗(UX)與資料流設計上精心雕琢,其流暢度完全不輸付費電商平台。
1. 單一事實來源(SSOT)與訂單狀態機(State Machine)
本系統將 Google 試算表作為後端唯一的「單一事實來源(Single Source of Truth, SSOT)」,並設計了清晰的訂單狀態機轉移流程:
$$\text{預設狀態:待匯款} \xrightarrow{\text{顧客回報匯款後 5 碼}} \text{等候付款} \xrightarrow{\text{管理員核對金額並寄出}} \text{已出貨 / 已寄出}$$
當管理員在試算表中更動訂單狀態為「等候付款」或「已出貨」,顧客於前台 LINE 觸發「訂單查詢」時,GAS 會動態抓取試算表最新欄位,即時呈現在 LINE 對話視窗中。
2. 基於 LINE ID 的歷史地址記憶(UX 體驗優化)
考量到滴雞精這類養生食品具有強烈的「節慶送禮與長輩關懷」屬性,顧客常有重複購買寄送至相同地址的需求。
  • 當舊會員打開 Webview 下單表單時,後端會利用 LINE User ID 進行歷史訂單查詢。
  • 系統會自動帶出過往寄送地址,並提供「購買人同收件者 / 帶入歷史地址」的快速勾選項,讓顧客免去重複輸入繁瑣地址的痛苦。
3. 關鍵字自動回覆 (FAQ) 與 Fallback 容錯機制
客服自動化是降低人力負擔的核心。商家可在 Google 試算表中建立關鍵字對照表,以逗號分隔同義詞(如:加熱,使用方式)。當顧客輸入含有該關鍵字的句子時,系統自動比對並回傳對應解答。
更重要的是系統具備 Fallback 容錯機制:當顧客傳送的訊息完全未命中任何關鍵字時,系統不會尷尬地死機或呈現空白,而是自動回覆友善的預設訊息:
收到你的問題,我稍微幫你回覆
同時通知後端管理員進行人工接管,展現極高貼心度。

結語:給微型創業者的輕量化系統思維
這套由 Google 試算表 + GAS + LINE Bot 所構建的「香純滴雞精」訂單系統,向廣大創業者證明了一件事:驗證商業模式與建立自動化流程,不一定需要先支付昂貴的電商平台月費,更不需要維護複雜的伺服器基礎建設。
透過精準的技術取捨(放棄線上刷卡金流)、深度的產業情境客製(溫層與黑貓階梯手續費)、嚴謹的資安控制(Script Properties)、聰明的通訊架構設計(Email 警示與 Pull 模式查詢)以及貼心的 UX 細節,0 成本的輕量化 MVP 同樣能發揮出極高的商業價值與營運效率。

身為系統架構師或微型創業者,不妨重新審視你目前的業務流程:在你的營運環節中,有哪些繁複的人工手續,也能透過這套「0 元無伺服器工具鏈」來實現自動化升級? 

檔案下載:

彰化一整天_LineBot購買香純滴雞精

https://imingho.nekoweb.org/file.htm?pid=196



不寫爬蟲也能自動抓特價!我如何用 Google 試算表與 AI 打造好市多降價通知神器

美式賣場好市多(Costco)每期的特價優惠總能吸引大批人潮,但對於非每週踩點的會員、或是非會員卻想精準鎖定特定商品的消費者來說,隨時盯著官網刷價格不僅極其繁瑣,還非常容易錯過限時折扣檔期。 為了解決這個生活痛點,我透過 Google 試算表(Google Sheets) 結合...