我們在使用Python爬蟲收集資訊時,經常會被封禁,有時會提示訪問過於頻繁,有時會回傳一些錯誤代碼等。導致這種情況出現的原因就是爬蟲IP被網站偵測出並進行了限制,那麼網站如何知道爬蟲在收集資訊呢?


1.IP檢測

網站將偵測使用者IP存取的速度,如果存取速度達到設定的閾值,則開啟限制,IP被封,爬蟲停止腳步,無法再次取得資料。應對ip偵測,就可以使用代理ip,切換大量IP位址,可以突破限制。


2.驗證碼檢測

設定登入驗證碼限制,對存取過快的設定驗證碼限制。如果您沒有輸入正確的驗證碼,您將無法再次取得資訊。由於爬蟲可以使用其他工具識別驗證碼,網站不斷加深驗證碼的難度,從普通的純數據研究驗證碼到混合驗證碼,或滑動驗證碼、圖片驗證碼等。


3.請求報頭偵測

爬蟲不是用戶,訪問時沒有其他特徵。網站可以透過偵測爬蟲的請求頭來偵測對方是使用者還是爬蟲。


4.cookie檢測

瀏覽器會保存cookies,所以網站會透過偵測cookies來辨識你是否是真實使用者。如果爬蟲偽裝得不好,就會觸發限制存取。