打造電商競爭優勢:建立跨平台價格與庫存監控系統(整合 Taobao API 與 LuckData)

一、前言

在電商競爭激烈的環境中,價格波動與庫存狀況是最能反映市場動態的關鍵指標。若能即時掌握競品的價格與庫存異動,商家便可快速制定相應策略,例如即時調整商品售價、啟動促銷活動,或預判對手補貨行為,進而搶佔市場先機。

本篇文章將詳細說明如何利用 Taobao API 建構一套基本的競品價格與庫存監控系統,並透過第三方資料平台 LuckData 擴展至京東、拼多多等主流電商平台。藉由整合資料擷取、儲存、異動監控與視覺化儀表板,打造完整的多平台監控系統,協助企業做出更快更精準的營運決策。

二、系統設計概覽

本監控系統設計由四個核心模組組成:

  1. 資料擷取模組:定時呼叫 Taobao API 與 LuckData API,擷取指定商品之價格、庫存與促銷活動資訊;

  2. 資料儲存模組:將每日擷取資料保存至 MongoDB 或 MySQL 等資料庫,便於後續查詢與分析;

  3. 異動比對模組:每日自動比對前後兩日的資料,判斷價格與庫存是否異動,並設定告警條件;

  4. 視覺化儀表板模組:以圖表方式展現價格走勢、庫存變化與各平台比價資訊,提升資訊可視性。

此系統可模組化擴充,適用於監控單一商品或大量商品,並支援每日自動化排程與資料更新。

三、使用 Taobao API 擷取商品價格與庫存

3.1 商品詳情 API 呼叫方式

使用 Taobao API 中的 taobao.tbk.item.info.get 方法可取得目標商品的基本資訊,包括原價、促銷價、銷售量等指標,可作為價格與庫存監控之依據。

def get_taobao_item_info(item_id):

payload = {

'method': 'taobao.tbk.item.info.get',

'num_iids': item_id,

'fields': 'title,reserve_price,zk_final_price,seller_id,volume'

}

return call_taobao_api(payload)

欄位說明:

  • reserve_price:商品原始售價;

  • zk_final_price:當前折扣後售價;

  • volume:銷售量(可作為熱度或庫存推估依據,但並非實際庫存)。

由於 Taobao 並未直接提供庫存欄位,因此可結合歷史銷量變化與上下架情況做推估。

四、透過 LuckData API 擴展至其他平台

LuckData 提供多個主流電商平台的價格與庫存 API,包含京東、拼多多、美團等,支援統一接口格式與自定義查詢,適合整合進多平台比價系統中。

4.1 京東商品監控範例

以下為呼叫京東價格與庫存的簡易程式碼,使用者需先至 LuckData 平台申請 API 金鑰。

import requests

headers = {

'X-Luckdata-Api-Key': 'your_luckdata_key'

}

def get_jd_price(sku_id):

url = f'https://luckdata.io/api/jd-api/price_stock?sku_id={sku_id}'

resp = requests.get(url, headers=headers)

return resp.json()

回傳資料包含當前價格、促銷活動、庫存狀態等,可與 Taobao 資料統一格式儲存與比對。

4.2 拼多多商品查詢

拼多多商品資訊同樣可透過 LuckData API 查詢,回傳結果包含活動價格、促銷標籤與庫存數據。

def get_pdd_info(goods_id):

url = f'https://luckdata.io/api/pdd-api/product_detail?goods_id={goods_id}'

resp = requests.get(url, headers=headers)

return resp.json()

整合上述資料後,即可實現多平台商品價格與庫存的同步監控。

五、比對價格異動與預警邏輯

每日擷取資料後,可比對與昨日資料之間的異動情況。當價格變動達一定幅度(如超過 5 元),即可透過郵件、Slack 或 LINE 通知營運人員。

以下為比對與通知的簡易邏輯實作:

def compare_and_alert(today_data, yesterday_data):

for item_id in today_data:

today_price = today_data[item_id]['price']

yest_price = yesterday_data.get(item_id, {}).get('price')

if yest_price and abs(today_price - yest_price) >= 5:

send_alert(f'✅ 商品 {item_id} 價格異動:由 {yest_price} 調整為 {today_price}')

此模組可結合排程工具(如 cron、Airflow)自動每日執行,亦可進一步設計不同告警門檻(如庫存低於某值、價格跌幅達 10% 等)。

六、資料儲存與視覺化(選配)

6.1 儲存資料至 MongoDB

儲存歷史資料有助於後續趨勢分析與比價報表建置。以下為儲存結構範例:

from pymongo import MongoClient

client = MongoClient()

db = client.taobao_monitor

def save_to_mongo(data, date_str):

for item_id, info in data.items():

db.records.insert_one({

'item_id': item_id,

'price': info['price'],

'stock': info.get('stock'),

'date': date_str

})

資料庫結構建議每筆資料包含商品 ID、價格、庫存與日期,以利查詢與繪圖。

6.2 使用 Matplotlib 畫出價格走勢圖

以 Matplotlib 搭配 Pandas 可視覺化商品的價格變化趨勢,有助於判斷促銷週期與市場波動:

import matplotlib.pyplot as plt

import pandas as pd

def plot_price_trend(item_id):

cursor = db.records.find({'item_id': item_id}).sort('date')

df = pd.DataFrame(list(cursor))

plt.plot(df['date'], df['price'], marker='o')

plt.title(f'{item_id} 價格趨勢圖')

plt.xlabel('日期')

plt.ylabel('價格')

plt.xticks(rotation=45)

plt.grid(True)

plt.tight_layout()

plt.show()

此模組可進一步整合至 Flask/Django 建置網頁儀表板,實現即時查詢與報表功能。

七、多平台整合與策略應用

當資料來源涵蓋多個平台後,即可製作競品比價報表,以協助營運團隊做出更具策略性的價格決策:

平台

商品名稱

當前價格

昨日價格

庫存

淘寶

商品A

89.00

89.00

充足

京東

商品A

95.00

99.00

緊張

拼多多

商品A

85.00

85.00

低量

報表可每日自動更新,並透過如下應用場景輔助決策:

  • 評估自家售價在市場中的競爭力,決定是否調價或搭配促銷;

  • 觀察競品價格波動頻率與庫存變化,推估其補貨或出清行為;

  • 根據各平台供應情況,預估即將到來的熱賣商品或潛在銷售窗口。

八、結語:打造智慧監控,掌握價格優勢

在數據驅動的電商時代,掌握即時競品資訊是贏得市場的關鍵。本篇文章完整介紹如何運用 Taobao API 與 LuckData 建構一套價格與庫存監控系統,從資料擷取、儲存、比對、預警到視覺化應用,形成一個自動化的營運數據閉環。

透過本系統,企業可實現:

  • 商品價格與庫存變化的即時掌握;

  • 各平台價格策略的橫向比對;

  • 異動趨勢的長期分析與視覺化呈現。

未來可進一步擴充模組功能,結合自然語言評論分析、搜尋熱度追蹤與社群聲量,打造更完整的智慧營運中控平台。

如需進一步了解 API 文件與資料來源,請參考 LuckData 官方網站:https://luckdata.io

Articles related to APIs :

如您需要 Taobao API 可聯係我們:support@luckdata.com