跳到內容

Session Lock vs IP 輪換:何時該用哪一種

Session Lock vs IP 輪換:何時該用哪一種

Section titled “Session Lock vs IP 輪換:何時該用哪一種”

代理策略基本上有兩種:維持相同 IP(session lock)或頻繁更換 IP(輪換)。大多數代理服務都強迫你二選一。HydraSkill 讓你兩者都能用 —— 而且會自動挑選正確的那一種。

Session Lock:整個任務用同一個 IP

Section titled “Session Lock:整個任務用同一個 IP”

何時使用: 你的任務需要與目標網站維持連續性時。

電商結帳流程:

Browse → Add to cart → Enter shipping → Payment

如果你的 IP 在「加入購物車」和「付款」之間改變了,購物車就會是空的。Session Lock 會從頭到尾維持相同 IP。

含分頁的多頁爬取:

Page 1 → Page 2 → ... → Page 50

有些網站以 IP 追蹤 session。在分頁中途更換 IP 可能觸發反爬蟲偵測,或重設你的位置。

帳號管理:

Login → Navigate → Perform actions → Logout

當 IP 在進行中的 session 期間改變時,帳號會被標記。

proxy = client.get_proxy(
target="amazon.com",
session_lock=True,
session_ttl=3600 # 維持 1 小時
)
# 所有請求都使用相同 IP
for page in pages:
requests.get(page, proxies=proxy.to_dict())
proxy.release()

何時使用: 你需要呈現成許多不同的使用者時。

跨地區價格監控:

Check price from US IP → Check from UK IP → Check from JP IP

每個請求都應該來自不同的位置。

搜尋結果爬取:

Query 1 → Query 2 → ... → Query 1000

搜尋引擎會依 IP 進行速率限制。輪換能讓你在達到上限前送出更多查詢。

廣告驗證:

View ad from IP A → View from IP B → View from IP C

你需要看到不同使用者所看到的內容。

# 沒有 session_lock = 每次都換新 IP
for query in queries:
proxy = client.get_proxy(target="google.com", country="US")
requests.get(f"https://google.com/search?q={query}", proxies=proxy.to_dict())
proxy.release() # 立即把 IP 歸還給 pool
場景策略原因
結帳流程Session Lock購物車需要 IP 連續性
分頁Session Lock避免爬取中途被偵測
帳號操作Session Lock防止安全標記
價格比較輪換需要多個地理位置
大量搜尋查詢輪換避免單一 IP 的速率限制
廣告驗證輪換模擬不同使用者
API 存取皆可取決於速率限制

有了 Context-Aware Routing,你通常不需要手動決定:

# HydraSkill 分析目標並挑選正確的策略
proxy = client.get_proxy(target="amazon.com")
# → 對電商自動使用 session lock
proxy = client.get_proxy(target="google.com/search")
# → 對搜尋自動輪換

有些任務需要依序使用兩種策略:

# 階段 1:研究(輪換)
for product_url in discover_products():
proxy = client.get_proxy(target="amazon.com")
data = scrape(product_url, proxy)
proxy.release()
# 階段 2:購買(session lock)
proxy = client.get_proxy(target="amazon.com", session_lock=True)
add_to_cart(proxy)
checkout(proxy)
proxy.release()

不要預設只用一種策略。讓你的代理行為配合任務需求。HydraSkill 透過自動處理這項決策讓一切變得簡單 —— 而當你更清楚狀況時,也能自行覆寫。

開始使用 HydraSkill →