Item Master — 決策與資料源記錄

📌 FDA 產品照片 OCR 可行: pyzbar 掃描 23,205 張 FDA-188 產品外包裝照片,8%...📌 barcode 驗證規則: 必須為純數字 8-14 位,排除 URL/QR code 誤判

已確認事實

Barcode 對應的現實限制

品名不一致的根本原因

品牌 vs 製造商


Channel Master 現況(2026-03-25)

通路詳細狀態見 crawlers/CHANNELS.md(single source of truth)。

指標 數值
紀錄總數 2,490,077
有國際條碼(GTIN) 440,414 (18%)
不重複條碼(L3) 361,222(GTIN 164K + ISBN 197K)
471 台灣碼 93,331(不重複 65,026)
跨 2+ 通路條碼 61,558
通路數 91(已完成 64)
FMCG 合計 462,289 筆、199,472 valid GTIN (43.1%)
Builder build_channel_master.py(唯一事實來源)
驗證模組 barcode_utils.py(統一 EAN check digit + GS1 prefix + blacklist + timestamp)

品質改善(2026-03-20)


Item Master v3 歷史記錄(2026-03-12,已被 Channel Master 取代)

總表統計

指標 數值
總筆數 122,743
有 barcode 45,259(36.9%)
有品牌名 47,487(38%)
有製造商 80,919(65%)
有規格 82,753(67%)
有 price 0(0%)— 目前無公開價格來源
有圖片 43,611

欄位結構

通路名, 類別名, 品牌名, 製造商, 商品名, 規格, price, barcode, 圖片, 辨識來源

資料來源明細(18 個來源)

辨識來源 筆數 barcode 品牌率 說明
FDA-OpenData-188 36,845 0 12% 食品追溯追蹤(50,997 原始,去重後)
OpenProductsFacts-GTIN 24,992 24,992 67% Open Products Facts 全球一般消費品
FDA-OpenData-37 15,445 0 38% 輸入藥品(全量 26,027,去重後)
FDA-OpenData-36 13,595 0 26% 國產藥品 OTC(成藥/指示藥/乙類成藥)
OpenPetFoodFacts-GTIN 12,024 12,024 53% Open Pet Food Facts 全球寵物食品
FDA-OpenData-68 9,386 0 49% 醫療器材(消費品類:口罩/貼布/隱形眼鏡等)
OFF-HF-Food-471 4,445 4,445 59% HuggingFace OFF Food 台灣 471 前綴
OpenFoodFacts-API-v2 2,294 2,294 88% OFF 台灣標記商品(2,238 筆 API 爬取)
FDA-OpenData-24 1,561 0 12% 維生素錠/膠囊
FDA-188-OCR 1,270 1,270 20% FDA 產品照片 barcode OCR v1(pyzbar)
FDA-OpenData-19 526 0 33% 健康食品
FDA-OpenData-11 125 0 44% 嬰兒配方
FDA-188-OCR-v2 91 91 25% FDA 產品照片 OCR v2(opencv 增強)
UPCitemDB-GTIN 63 63 100% UPCitemDB API 查詢(藥妝品牌)
OpenFoodFacts-471 51 51 31% OFF 471 前綴篩選(與 API-v2 去重後新增)
BeautyEasy-Shopline-GTIN 21 21 100% 86小舖 Shopline GTIN 爬取
OFF-HF-Beauty-471 7 7 57% HuggingFace OFF Beauty 台灣 471 前綴
OpenBeautyFacts-GTIN 2 2 50% Open Beauty Facts 台灣美妝

品牌字典

已排除的資料


公開資料源清單

TIER 1: 有 Barcode + Product Name 配對(最高價值)

資料源 筆數 Barcode 台灣覆蓋 狀態
Open Products Facts 24,992(全球一般消費品) EAN-13 1,054 筆台灣 ✅ 已整合
Open Pet Food Facts 12,024(全球寵物食品) EAN-13 15 筆台灣 ✅ 已整合
HuggingFace OFF Food 471 4,445(OFF food dump 471 前綴) EAN-13 全部台灣 ✅ 已整合
Open Food Facts API 2,294 台灣標記 EAN-13 台灣 ✅ 已整合
FDA-188 產品照片 OCR 1,361 有效 barcode(v1+v2) EAN-13 台灣食品 ✅ 已整合
UPCitemDB API 63 EAN-13 藥妝品牌 ✅ 已整合
BeautyEasy (86小舖) 21 GTIN 美妝 ✅ 已整合
HuggingFace OFF Beauty 471 7 EAN-13 台灣美妝 ✅ 已整合
Open Beauty Facts 2 EAN-13 台灣美妝 ✅ 已整合
Google Shopping (SerpApi) 每月 5,000 GTIN 🔜 待啟用($50/月)
Kaggle GTIN/EAN DB 數千萬 EAN 未知 ❓ 待測(需 Kaggle 憑證)
Brocade.io ~722K GTIN ❌ API 已下線

TIER 2: 有 Product Name(品名字典價值)

資料源 筆數 狀態 說明
FDA 食品追溯 (188) 50,997 ✅ 已整合 最大台灣食品品名字典
FDA 輸入藥品 (37) 26,027 ✅ 已整合 進口藥品全量
FDA 國產藥品 OTC (36) 15,181 ✅ 已整合 成藥/指示藥品
FDA 醫療器材消費品 (68) ~10,573 ✅ 已整合 口罩/貼布/隱形眼鏡等
FDA 健康食品 (19) 555 ✅ 已整合
FDA 維生素 (24) 1,601 ✅ 已整合
FDA 嬰兒配方 (11) 137 ✅ 已整合 唯一有品牌欄位的 FDA 資料
FDA 特定用途化粧品 (71) ❌ 已下架 API 返回 404
農產品追溯 (qrc.afa.gov.tw) 52,214 🔜 待爬取 QR 農產品

TIER 3: 電商 GTIN 測試總表(2026-03-20 更新)

通路 有 GTIN/EAN 取得方式 現況
全聯 PXGo URL 含 EAN-13 ✅ 9,906 品, 99.9% BC
PX Box 全電商 __NUXT_DATA__ + API ✅ 191,674 品, 27% BC
大全聯 mega URL 含 EAN-13 ✅ 10,200 品, 100% BC
佑全/健康人生 __NEXT_DATA__ ✅ 1,850 品, 100% BC
日藥本舖 ShortDescription GTIN ✅ 5,163 品, 94% BC
丁丁藥局 CSRF API + JSON ✅ 4,451 品, 99% BC
松本清 (CyberBiz) Shopify JSON-LD ✅ 705 品, 75% BC
Costco ⚠️ SAP Hybris API ✅ 9,298 品, 5% BC (UPC-A)
康是美 ⚠️ ISBN 91APP ShortDesc 🔄 47K/126K, 27% BC
樂天愛買 Redux + spec table 🔄 8.5K/15K, 100% BC
樂天屈臣氏 Redux + spec table ✅ 11,740 品, 67% BC
Treebuy ⚠️ JSONL data-ean attr ✅ 61,819 品, 5% BC
家樂福 SFCC API, 僅 SKU ✅ 63,539 品, 0% BC
PChome ✅ 980K 品, 0% BC
Shopee 賣家後台有,API 不暴露 ✅ 1K 品 (limited), 0% BC
foodpanda 消費端無 ✅ 5,606 品, 0% BC
UberEats 消費端無 ✅ 1,659 品, 0% BC

TIER 4: 付費/受限

來源 說明 費用
GS1 Taiwan TDSN 權威 barcode 註冊資料 會員費 NT$26K-123K/3年
NielsenIQ 全球最大 FMCG 資料 ~USD 110K+/年
ANCC 中國 690-699 前綴商品 企業會員制

技術決策

OCR barcode 提取

品牌萃取邏輯

去重邏輯


關鍵結論

可行的 Barcode+品名 取得管道(依優先順序,已更新)

  1. FDA 產品照片 OCR:✅ 已驗證,v1+v2 共 1,361 筆有效 barcode
  2. Open Food Facts:✅ 已整合,2,294 筆(含 1,206 筆 471 前綴)
  3. UPCitemDB API:✅ 已整合,63 筆藥妝品牌。免費 tier 100 次/日
  4. 眾包收集:透過發票 app 請 user 拍照。最可靠、最完整
  5. Google Shopping (SerpApi):唯一可規模化管道。$50/月 5,000 次
  6. 86小舖 爬取:✅ 已整合 21 筆。美妝品類,產品頁直接有 GTIN
  7. Shopee GTIN 欄位:部分賣家有填,覆蓋率未知

不可行的管道

新增可行管道(2026-03-18 Channel Master 更新)


待驗證項目


檔案結構(2026-03-20 整理後)

item-master-research/
├── README.md                 ← RD 交接文件
├── CONTEXT.md                ← 問題定義、目標品類/通路
├── DECISIONS.md              ← 本文件
├── docs/                     ← 設計文件 (C01-C15, Q01-Q02, R01-R03)
├── build/                    ← 建置腳本
│   ├── build_channel_master.py   ← 主建置腳本 (66 通路 ingest)
│   └── barcode_utils.py          ← 共用條碼驗證模組
├── output/                   ← 建置產物
│   ├── channel_master.json       ← 2,490,077 筆
│   ├── channel_master.csv
│   └── barcode_conflicts.json    ← 同 barcode 多品名衝突清單(ad-hoc 分析產出)
├── crawlers/                 ← 66 通路爬蟲 + CHANNELS.md
│   └── {channel}/crawler.py + data/products.json
└── archive/                  ← 歷史資料
    ├── phase1/               ← Phase 1 legacy 腳本與資料(reference-only,不可執行)
    ├── phase1-data-raw/      ← FDA 開放資料 (617MB)
    └── stubs/                ← 未完成的爬蟲 stub