?從這一小節(jié)開始,我們開始了解常用的幾個反爬手段.首先是封禁類.我們經(jīng)常會遇到爬取過度而導(dǎo)致IP被封或者是賬號被封。你知道是怎么一回事么? 在這里,我們將詳細的了解下我們在什么情況下會遭到此類懲罰。同時,一些常用的判斷規(guī)則又是什么?一般來說,我們?nèi)绻|發(fā)了反爬系統(tǒng)所設(shè)定的條件的話,就會引發(fā)封禁.該手段一般設(shè)定的標準有這幾種:
封禁的標準千千萬萬,閾值也是每個網(wǎng)站都不同.我們應(yīng)當在正式爬取之前,先寫幾個測試用意的爬蟲,用來試探該網(wǎng)站的反爬策略,從而決定我們的反反爬措施. 當然還有最終的解決辦法,那么就是看封禁的是什么。大多數(shù)情況下,封禁的是IP地址,那么這時候我們可以去通過代理IP來無視掉封禁IP的情況.代理IP也就是代理網(wǎng)絡(luò)用戶去取得網(wǎng)絡(luò)信息.我們?nèi)绻ㄟ^代理IP來獲取信息的話,那么就可以無視掉依靠IP封禁的反爬策略.一般基本上主流的HTTP庫都提供代理功能.但有利必有弊,通過代理IP進行中轉(zhuǎn)固然可以無視封禁,但代理節(jié)點的穩(wěn)定性和速度就直接影響到整體爬蟲的效率.如果該代理節(jié)點時常掉線,延時居高不下,那么從最終效果上來看就和不掛代理依靠低速運行來躲避閾值的爬蟲一樣.如何維持一個延遲低,可用率高的代理IP池不在本文敘述范圍內(nèi),請自行尋找資料.
總而言之,封禁類中的如何判斷是否是爬蟲是反爬系統(tǒng)的核心關(guān)鍵所在,確定了是爬蟲之后,那么就不光是封禁,可能會有各種手段懲罰或者戲弄你.比如后面講的投毒,無限循環(huán),偽裝404頁面等待.敬請期待