爬蟲開發知識入門基礎(3)

爬蟲的反爬
反爬這部分是個重點,爬蟲現在已經越來越難了,非常多的網站已經添加了各種反爬措施,在這裏可以分爲非瀏覽器檢測、封 IP、驗證碼、封賬號、字體反爬等。
在這裏插入圖片描述
下面主要從封 IP、驗證碼、封賬號三個方面來闡述反爬的處理手段。
反爬 / 封 IP
對於封 IP 的情況,可以分爲幾種情況來處理:
• 首先尋找手機站點、App 站點,如果存在此類站點,反爬會相對較弱。
• 使用代理,如抓取免費代理、購買億牛雲付費代理、使用 Tor 代理、Socks 代理等。
• 在代理的基礎上維護自己的代理池,防止代理浪費,保證實時可用。
反爬 / 驗證碼
驗證碼分爲非常多種,如普通圖形驗證碼、算術題驗證碼、滑動驗證碼、點觸驗證碼、手機驗證碼、掃二維碼等。
• 對於普通圖形驗證碼,如果非常規整且沒有變形或干擾,可以使用 OCR 識別,也可以使用機器學習、深度學習來進行模型訓練,當然打碼平臺是最方便的方式。
• 對於算術題驗證碼,推薦直接使用打碼平臺。
• 對於滑動驗證碼,可以使用破解算法,也可以模擬滑動。後者的關鍵在於缺口的找尋,可以使用圖片比對,也可以寫基本的圖形識別算法,也可以對接打碼平臺,也可以使用深度學習訓練識別接口。
• 對於點觸驗證碼,推薦使用打碼平臺。
• 對於手機驗證碼,可以使用驗證碼分發平臺,也可以購買專門的收碼設備,也可以人工驗證。
• 對於掃二維碼,可以人工掃碼,也可以對接打碼平臺。
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述反爬 / 封賬號 某些網站需要登錄才能爬取,但是一個賬號登錄之後請求過於頻繁會被封號,爲了避免封號,可以採取如下措施: • 尋找手機站點或 App 站點,此種類別通常是接口形式,校驗較弱。 • 尋找無登錄接口,儘可能尋找⽆無需登錄即可爬取的接口。 • 維護 Cookies 池,使⽤用批量賬號模擬登錄,使⽤時隨機挑選可用 Cookies 使⽤即可 • 有些網站會檢查你是不是真的瀏覽器訪問,還是機器自動訪問的。這種情況,加上User-Agent,表明你是瀏覽器訪問即可。有時還會檢查是否帶Referer信息還會檢查你的Referer是否合法,一般再加上Referer。 User-Agent可以用億牛雲代理IP提供給的真實庫,Referer的來源可以僞裝成百度搜索來的。 當然爬蟲採集數據使用高質量的http代理 ,效果是最好的。