使用 Python 與 LuckData Walmart API 構建商品監控系統:從搜尋到預警的全流程實現

引言

在當前電商平台高速運轉的背景下,品牌商與營運人員對市場變化的即時掌握成為關鍵競爭力。商品的上新節奏、價格浮動、用戶評價與熱度走勢,無一不是制定營運策略與市場應對的關鍵資料來源。傳統的人工查詢與手動監控方式不僅效率低下,還容易遺漏重要資訊。透過自動化的商品資料抓取與變化預警機制,能大幅提升營運決策的即時性與準確性,這也正是資料驅動電商決策的核心價值所在。

為什麼選擇搜尋接口作為入口?

搜尋接口之所以成為資料抓取的首選,原因在於其高度靈活性與即時性。相比靜態的商品列表頁面,搜尋介面提供了更具主動性與深度的資料源,其優勢包括:

  • 可根據關鍵字即時獲取相關商品;

  • 支援分頁與排序,有助於模擬人為行為、規避反爬蟲策略;

  • 易於組合多組關鍵字進行批次監控;

  • 支援篩選熱門、新品、高評價等類型商品,提升資料的商業價值。

LuckData 提供的搜尋接口如下所示:

GET https://luckdata.io/api/walmart-API/get_hugc?page=1&keyword=computer

該接口支援以關鍵字與頁碼為參數查詢 Walmart 的搜尋結果,並回傳包含商品名稱、商品連結、價格、評分、品牌、評論數等多欄位的結構化 JSON 資料,為後續的監控與資料比對提供良好基礎。

搭建商品監控工具的三個核心階段

階段一:關鍵字搜尋與商品資料抓取

首先,我們需建構一段 Python 程式,針對指定關鍵字自動抓取 Walmart 上的商品資料。以下是基本的實作範例:

import requests

API_KEY = 'your_luckdata_key'

HEADERS = {'X-Luckdata-Api-Key': API_KEY}

def search_products(keyword, page=1):

url = f'https://luckdata.io/api/walmart-API/get_hugc?page={page}&keyword={keyword}'

response = requests.get(url, headers=HEADERS)

if response.status_code == 200:

return response.json()

else:

print(f"Error: {response.status_code}")

return None

result = search_products("laptop")

for item in result.get('data', []):

print(item['title'], item['price'], item['product_url'])

這段程式碼會回傳第一頁符合 laptop 關鍵字的商品資料。你也可以根據需求擴充輸出項目,例如 brandratingreview_countcategory_path 等欄位,以利後續分析或比對。

階段二:歷史資料儲存與變動偵測

僅僅抓取資料還不足以滿足監控需求,核心在於資料比對與變更記錄。我們需將每日抓取結果儲存至本地資料庫,並對比是否出現新品或既有商品資料發生異動。

以下為使用 SQLite 實作資料儲存與新商品偵測的示例:

import sqlite3

import hashlib

def init_db():

conn = sqlite3.connect('walmart_monitor.db')

c = conn.cursor()

c.execute('''

CREATE TABLE IF NOT EXISTS products (

id TEXT PRIMARY KEY,

title TEXT,

price TEXT,

last_seen DATE DEFAULT CURRENT_DATE

)

''')

conn.commit()

conn.close()

def save_and_compare(products):

conn = sqlite3.connect('walmart_monitor.db')

c = conn.cursor()

new_items = []

for product in products:

pid = hashlib.md5(product['product_url'].encode()).hexdigest()

c.execute('SELECT * FROM products WHERE id = ?', (pid,))

exists = c.fetchone()

if not exists:

new_items.append(product)

c.execute('INSERT INTO products (id, title, price) VALUES (?, ?, ?)',

(pid, product['title'], product['price']))

else:

# 可在此加入價格或評分變更邏輯

pass

conn.commit()

conn.close()

return new_items

透過商品 URL 的 MD5 雜湊值作為唯一 ID,可以穩定識別商品。若當前抓取結果中有商品未出現在歷史紀錄中,便可視為「新商品」。

此外,若要進一步監控價格或評分變化,可新增資料欄位並記錄變更日誌,以利後續進行價格監控或趨勢預測。

階段三:變更提醒與自動化運行

當系統偵測到新商品或異動時,應即時通知營運團隊。這裡以電子郵件通知為例說明如何實作:

import smtplib

from email.message import EmailMessage

def send_email_alert(new_items, keyword):

if not new_items:

return

msg = EmailMessage()

msg['Subject'] = f'【Walmart】關鍵字「{keyword}」發現 {len(new_items)} 筆新品'

msg['From'] = 'you@example.com'

msg['To'] = 'user@example.com'

content = "\n".join([f"{p['title']} - {p['product_url']}" for p in new_items])

msg.set_content(content)

with smtplib.SMTP('smtp.example.com') as server:

server.login('your_user', 'your_password')

server.send_message(msg)

除了電子郵件之外,你也可以選擇整合:

  • Slack 通知機器人;

  • 鉤子(Webhook)對接內部系統;

  • LINE Notify、Telegram Bot;

  • 企業微信或釘釘機器人。

這樣可實現多渠道同步提醒,大幅提升反應速度與資訊可及性。

多關鍵字與定時任務擴充

在實務中,我們通常會針對多組關鍵字進行追蹤,如監控特定品類、品牌或促銷活動。可以使用 Python 的 APScheduler 來設定排程定時執行監控任務。

以下為完整的關鍵字排程監控範例:

from apscheduler.schedulers.blocking import BlockingScheduler

keywords = ['laptop', 'headphones', 'tv', 'smartwatch', 'gaming console']

def run_monitor():

for kw in keywords:

data = search_products(kw)

if data:

products = data.get('data', [])

new_items = save_and_compare(products)

send_email_alert(new_items, kw)

scheduler = BlockingScheduler()

scheduler.add_job(run_monitor, 'interval', hours=6)

scheduler.start()

你也可以將監控間隔設為每日、每週,或使用 cron 表達式設定更彈性的排程邏輯,讓監控系統無須人為干預即可穩定運行。

應用場景舉例

這套自動化商品監控系統具備極高的靈活性與延展性,可應用於多種電商業務場景:

  • 品牌方:監控競品商品上新頻率、命名模式、價格策略;

  • 代理商:提早掌握新品動態,規劃備貨與推廣;

  • SEO 團隊:分析熱門搜尋趨勢,指導內容與品類佈局;

  • 電商營運:追蹤特定品類活躍度,優化行銷排程與資源分配;

  • 資料分析師:結合歷史資料,進行價格波動分析與市場趨勢預測。

結語

透過 LuckData 所提供的 Walmart API,我們能夠快速構建一套涵蓋商品資料抓取、歷史變更比對、異動提醒、自動化運行的完整監控系統。此系統不僅大幅節省人力成本,更能即時掌握市場變化,提升電商營運與決策效率。

對於希望以最低門檻進行電商資料監控的用戶而言,LuckData 提供的免費配額與簡潔接口已足以完成基礎應用,而針對高頻需求的企業客戶,則可考慮升級至 Pro 或 Ultra 套餐,獲得更高查詢速率與更強資料擴充能力。

從一個簡單的關鍵字開始,搭建屬於你的商品監控雷達,讓資料主動為你服務,在競爭激烈的電商戰場中搶得先機。

Articles related to APIs :