90 秒完售:搶購監控團隊在倒數開始前就做錯的事

限量發售——球鞋、主機補貨、演唱會門票——是電商裡最惡劣的資料環境。資料價值最高的那一刻,反爬防禦也最強;價格與庫存逐秒變動;監控斷線兩分鐘,等於用戶錯過一次發售。以下是一場與搶購監控平台資料負責人的複合訪談(融合數段真實對話、去識別化),談實際會壞掉的是什麼,以及撐得過發售日的採集架構。

訪談實錄

問:先描述場景。發售日當天,你們的採集工作負載長什麼樣?

答:想像 40 家零售商的 300 個商品頁。平常安靜好幾天,然後所有事情塞進 15 分鐘的窗口裡:頁面從「即將開賣」翻成「加入購物車」、尺碼在幾秒內售罄、你兩分鐘前抓到的價格已經是錯的。用戶付錢買的是「第一個正確觀測」——第二名毫無價值。所以窗口期間我們對每頁的採集頻率是每 3 到 5 秒一次,這和一週其他時間的每日掃描,是完全不同的工程問題。

問:最先壞掉的是什麼?

答:天真的答案是「我們被封了」。真實的答案更細,而且分層:

故障層長什麼樣何時發作
反爬升級零售商在開賣前幾分鐘開啟激進的機器人偵測倒數 10 分鐘
排隊系統你落進等待室,抓到的是排隊序號不是商品倒數 5 分鐘
連線失效用了一整週的 session 被強制登出發售窗口
快取塑形請求成功,但回傳的是快取的舊頁面發售窗口
版面混亂購買框移位、A/B 版本分流發售窗口

真正殺死團隊的是第四層——快取舊頁。監控回報 HTTP 200、解析器抓到一個價格,而那是開賣前的價格。一切看起來健康,資料卻是小說。這就是我們量測「觀測新鮮度」而不是「請求成功率」的原因。

問:快取層怎麼破?

答:不是用量砸——是用「來自正確地理的可信連線」破。發售窗口的採集走釘選到零售商所在區域的住宅 IP,黏性連線要長到足以走完「排隊 → 商品 → 購物車」的完整流程。我們標準化採用 Thordata 的住宅池:國家/州/城市/ASN 定位不加價、黏性連線最長 90 分鐘、公開量價滑桿——1 GB 時 $2.00/GB,一路降到 5 TB 的 $0.65/GB,我們平常用量所在的 1 TB 附近是 $0.73。發售日的暴增只是讓我們沿著滑桿移動,季中不會撞到任何方案天花板。

問:大型零售目標呢?

答:主要球鞋與 3C 零售平台屬於現成爬蟲的領地——Thordata 的目錄涵蓋 120 多個目標,驗證碼破解與 JS 渲染內建,按交付結果計費約 每 1,000 筆 $0.50–1.00。發售日當天,按結果計費在價格之外更是功能:失敗嘗試零成本,所以我們的重試策略可以很激進而不必先開財務會議。精品小店那條長尾則留在原始住宅流量上。

問:輪詢迴圈實際長什麼樣?

答:刻意無聊:

import time, requests

# 由控制台端點產生器生成的釘選區域端點
PROXY = {"http": "http://USER-geo-us-ny:PASS@res.thordata.com:18000"}

def watch_page(url, deadline, interval=4):
    while time.time() < deadline:
        r = requests.get(url, proxies=PROXY, timeout=15)
        state = parse_availability(r.text)      # coming_soon | live | sold_out
        if state.changed():
            alert_subscribers(url, state)        # 整個產品,就這一行
        time.sleep(interval)

# 窗口 09:59:50 開始——提前開跑,抓到翻轉本身
watch_page(PRODUCT_URL, deadline=drop_window_end())

唯一重要的設計規則:在窗口打開之前就開始輪詢。我們賣的最有價值的觀測是「翻轉那一刻」,晚一個請求間隔它就沒了。

問:哪一部分最被低估?

答:搜尋。兩個方向。第一,發售會在商品頁之前先洩漏到搜尋結果——「哪裡買」、補貨傳言、購物版位會提前幾小時開始動,監控那一層是我們判斷「哪些頁面要盯更緊」的方式。我們把品牌與商品詞的查詢跑過 Thordata 的 SERP 監控解決方案——量價約每 1,000 次回應 $0.70 的結構化結果、按市場釘選——它就是我們的預警雷達。第二,我們自家平台頁面在發售爆紅時必須排得上名,持續 SERP 資料爬取的資料流讓我們一天內知道自己是浮上來了還是被埋掉。

問:最後一問——對今天要從零打造這套系統的團隊,你會說什麼?

答:三件事。一、先建觀測新鮮度的量測——如果你說不出「每個頁面最新一次成功觀測的年齡」,你就還沒有監控產品。二、峰值容量不要自己建——發售日的量尖銳到,有量價滑桿的受管基礎設施勝過你全年付錢養的固定容量。三、盯搜尋層——排名與購物版位監控是這個利基裡最便宜的領先指標,而多數團隊根本不知道它存在。

濃縮版的結論

這場訪談的模式可以推廣到任何「爆發式、對抗性」的資料問題——票務、限時閃購、上市日的供貨:

  1. 量觀測新鮮度,不是請求成功率——快取的 200 是無聲殺手。
  2. 區域釘選的住宅連線跑排隊與購物車流程;黏性連線要活得比漏斗長。
  3. 大型目標按結果計費,重試失敗時一毛不花。
  4. 窗口打開前就開始輪詢——翻轉本身就是產品。
  5. 搜尋側的預警層——結構化 SERP 資料是你還沒在用的最便宜領先指標。

爬蟲與 SERP API 的免費試用額度,讓你對十個最熱目標的兩週試點不花一毛錢、只花注意力。發售日無論你準備好沒有都會來;差別只在於你的用戶是從你這裡知道,還是從快兩分鐘的競品那裡知道。