Python By Brian

Python 爬蟲防擋機制:User-Agent 與 Proxy 池

突破網站的反爬蟲牆

在抓取證交所或法拍屋資料時,最常遇到 HTTP 403 Forbidden 或 IP 被封鎖。

基礎防禦
使用 fake_useragent 庫隨機生成 User-Agent,偽裝成不同的瀏覽器訪問。

from fake_useragent import UserAgent
headers = {'User-Agent': UserAgent().random}

進階防禦
當單一 IP 請求頻率過高時,必須使用 Proxy。可以購買付費的 Proxy Pool 服務,或寫腳本抓取免費 Proxy (穩定性較差)。在 requests 中設定 proxies 參數,並結合 time.sleep(random.uniform(1, 3)) 隨機延遲,模擬人類行為。更高級的對手 (如 Cloudflare) 則需要 Selenium 或 Playwright 配合 Headless Browser 來處理 JavaScript 渲染與驗證碼。