楊本顥筆記・知識・作品

首頁 / 作品 / pchome-momo 跨平台比價

05 / PROJECT · 資料工程 · 後端

跨平台商品比價

辨識不同購物平台上的同一件商品,整理價格差異與歷史。

374 項測試含真實 MySQL 整合測試,CI 內起容器全綠

跨平台配對將商品名稱差異轉成可比較的資料
個人專案資料工程後端
GitHub 原始碼
木桌上的咖啡杯、植栽與兩本並排的書,跨平台商品比價概念封面
專案概念封面

HOW IT WORKS / 如何使用

同一件商品在不同平台有不同名稱,難以直接比較。
STEP 01

收集商品

STEP 02

配對品項

STEP 03

比較價格

這個作品做了什麼?

同一件商品在兩個平台的命名互異。以模糊比對完成跨平台配對,產出可排序的價差表與價格歷史。第二版重新定義了問題:比價的核心不是視覺化,是認出同一件商品。

為什麼做
同一件商品在不同平台有不同名稱,難以直接比較。
我的角色
個人專案
01

背景與挑戰

同一件商品在 PChome 與 momo 的命名不同,人眼認得出來,程式不行。第一版做成價格視覺化,做完才發現問題定義錯了:比價的核心是先認出同一件商品,其餘都是附帶。

02

我負責的部分

獨力完成。架構重構、配對演算法、CI 與容器化。

Python · Flask · MySQL · Docker · GitHub Actions

03

成果與驗證

374項測試,含真實 MySQL 整合測試
3 / 3CI job 全綠,CI 內起 mysql:9 容器

以上為專案在 2026-09-01 至 09-07 整理的成果;測試集與實際使用情境不同,個別量測範圍見各項說明。

04

實作過程

展開技術選擇、遇到的問題與解法
  • 重構成 CLI 單一入口的模組化架構:爬蟲不碰資料庫、前端不算統計;品牌型號分桶 → 兩兩評分 → union-find 分組。
  • CI 反向守門:整合測試若因環境變數沒生效被跳過,CI 直接紅,避免「沒跑但全綠」。
  • 處理一次憑證外洩:舊版 config 有明碼密碼,刪檔不夠,改 .env、加告警並建議換密碼。洩漏的憑證是作廢,不是藏起來。