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 次

註冊步驟:

  1. 前往 LuckData 官網 註冊帳戶。

  2. 進入儀表板取得 API Key

  3. 選擇合適的訂閱方案。

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 pd

data_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 上的商品數據,並進一步實現價格監測、庫存追蹤、數據存儲與分析。這不僅能幫助消費者做出更明智的購買決策,也能為電商從業者提供市場趨勢的寶貴資訊。