Python 爬取 Footballer.com.tw 數據,實現足球裝備自動化監測
在足球運動領域,專業裝備對球員表現有著至關重要的影響。Footballer.com.tw 作為台灣知名的足球專賣店,販售各大品牌的足球鞋、護具及週邊產品。然而,許多熱門商品常常因需求過高而迅速售罄。
為了能夠即時監測商品庫存變化、掌握價格趨勢,甚至自動化比價分析,我們可以使用 Python 搭配 LuckData Sneaker API,來高效抓取 Footballer.com.tw 的數據。本文將介紹一套完整的解決方案,並提供代碼實現。
1. 為什麼要爬取 Footballer.com.tw 的數據?
Footballer.com.tw 主要販售Desporte、Nike、Adidas、Mizuno 等品牌的足球裝備,對於足球愛好者來說,搶先獲取最新商品資訊至關重要。透過自動化數據監測,我們可以:
✅ 即時掌握價格變動 —— 抓取商品價格,發現折扣機會。
✅ 追蹤庫存情況 —— 獲取「缺貨 / 現貨」狀態,避免錯過補貨通知。
✅ 建立歷史數據庫 —— 分析長期價格趨勢,預測最佳購買時機。
✅ 與其他電商平台比價 —— 確保以最划算的價格入手裝備。
2. 了解 LuckData Sneaker API
LuckData Sneaker API 是一款針對球鞋和運動裝備的數據抓取工具,目前已支援多個電商平台,包含 Footballer.com.tw、DreamSport、Footlocker、Musinsa 等。只需要提供商品的 URL,就能獲取完整的商品資訊,包括名稱、價格、庫存狀態、圖片等。
LuckData API 提供不同的訂閱方案,適用於不同使用需求:
訂閱方案 | 費用 | 每月請求數量 | 每秒請求數 |
---|---|---|---|
Free | $0 | 100 次 | 1 次 |
Basic | $18 | 12,000 次 | 5 次 |
Pro | $75 | 58,000 次 | 10 次 |
Ultra | $120 | 100,000 次 | 15 次 |
註冊步驟:
前往 LuckData 官網 註冊帳戶。
進入儀表板取得 API Key。
選擇合適的訂閱方案。
3. 構建 API 請求來抓取 Footballer.com.tw 的數據
LuckData API 的基本請求格式如下:
https://luckdata.io/api/sneaker-API/get_4ce2?url=<商品URL>
我們需要透過 Python 發送 GET 請求,並在 Header 中附加 API Key 來完成授權。
Python 代碼實現
以下是抓取 Footballer.com.tw 上某款 Desporte Sao Luis SI II DS-1436 足球鞋 的代碼示例:
import requests# API Key
API_KEY = "your_api_key"
# 目標商品 URL
TARGET_URL = "https://footballer.com.tw/collections/desporte/products/desporte-sao-luis-si-ⅱ-ds-1436"
# API 請求網址
API_ENDPOINT = f"https://luckdata.io/api/sneaker-API/get_4ce2?url={TARGET_URL}"
# 設定請求標頭
headers = {
'X-Luckdata-Api-Key': API_KEY
}
# 發送請求
response = requests.get(API_ENDPOINT, headers=headers)
# 處理返回結果
if response.status_code == 200:
data = response.json()
print(data) # 這裡可以根據需求進一步處理數據
else:
print(f"請求失敗,狀態碼:{response.status_code}")
4. 解析 API 返回數據
LuckData API 會以 JSON 格式 返回商品資訊,內容示例如下:
{"name": "Desporte Sao Luis SI II DS-1436",
"price": "$2,880",
"stock": "In Stock",
"image": "https://footballer.com.tw/path/to/image.jpg",
"url": "https://footballer.com.tw/collections/desporte/products/desporte-sao-luis-si-ⅱ-ds-1436"
}
在 Python 中,我們可以提取關鍵資訊:
data = response.json()product_name = data.get("name")
product_price = data.get("price")
product_stock = data.get("stock")
product_image = data.get("image")
print(f"商品名稱: {product_name}")
print(f"價格: {product_price}")
print(f"庫存狀態: {product_stock}")
print(f"圖片連結: {product_image}")
5. 進階應用:批量抓取 & 數據存儲
1. 一次性監測多款產品
我們可以建立一個商品列表,依次抓取多個產品的數據:
product_urls = ["https://footballer.com.tw/collections/desporte/products/product1",
"https://footballer.com.tw/collections/adidas/products/product2",
"https://footballer.com.tw/collections/nike/products/product3"
]
for url in product_urls:
API_ENDPOINT = f"https://luckdata.io/api/sneaker-API/get_4ce2?url={url}"
response = requests.get(API_ENDPOINT, headers=headers)
if response.status_code == 200:
print(response.json()) # 處理數據
2. 將數據存入 CSV 以便分析
我們可以利用 pandas 將爬取的數據儲存為 CSV 檔案,以便進一步分析:
import pandas as pddata_list = [
{"name": "Desporte Sao Luis SI II", "price": "$2,880", "stock": "In Stock"},
{"name": "Nike Mercurial Vapor 15", "price": "$5,200", "stock": "Out of Stock"}
]
df = pd.DataFrame(data_list)
df.to_csv("footballer_data.csv", index=False)
這樣,我們就能將數據匯出至 Excel 或進一步進行可視化分析。
6. 爬取數據時的注意事項
在進行自動化數據抓取時,我們必須遵循合理使用原則,確保不影響網站運行:
✅ 避免高頻率請求 —— 設置適當的間隔時間,例如 time.sleep(1)
,以防 IP 被封鎖。
✅ 檢查網站政策 —— 確保不違反 Footballer.com.tw 的 robots.txt
規範。
✅ 妥善處理 API 錯誤 —— 若 API 請求失敗,應記錄錯誤並適當重試。
7. 總結
透過 LuckData API,我們可以輕鬆抓取 Footballer.com.tw 上的商品數據,並進一步實現價格監測、庫存追蹤、數據存儲與分析。這不僅能幫助消費者做出更明智的購買決策,也能為電商從業者提供市場趨勢的寶貴資訊。