爬蟲工作者在試用爬蟲進行數據采集時經常會遇到這樣的情況。 一開始,爬蟲運行正常,數據抓取狀態也在有條不紊的進行中。 但是,您可能無法一目了然,并且會出現錯誤,例如403 Forbidden。 如果此時打開網頁,網頁會提示“您的IP訪問頻率太高”。 出現這種現象的原因是被訪問的網站采用了反爬蟲機制。 例如,服務器會檢測一個IP在單位時間內發出的請求數。 如果超過這個閾值,它會直接拒絕服務并返回一些錯誤信息,這種情況可以稱為 IP限制。
動態IP模擬器
那么這種情況的解決方法很簡單,因為他可以檢測某個IP的請求次數,所以最好用代理IP來偽裝 自己的IP地址。 一個好辦法,這樣可以防止IP被屏蔽。
然后了解代理IP的基本原理,看看代理IP是如何偽裝的。
基本原理
代理其實就是一個代理服務器,代理IP的作用是代理網絡客戶端獲取網絡信息。 打個比方,它相當于一個網絡信息的中轉站。 當我們正常請求一個網站時,請求被發送到網絡服務器,網絡服務器將響應返回給我們。 如果中間設置了代理服務器,它實際上是機器和訪問的網站之間的橋梁。 這時候機器并沒有直接向Web服務器發起請求,而是向代理服務器發送請求,請求會被發送到代理服務器再由代理服務器發送給Web服務器,而 然后代理服務器將Web服務器返回的響應轉發給機器。 這樣我們也可以正常訪問網頁,但是這個過程中web服務器識別的真實IP不再是我們的本地IP,成功實現了IP偽裝。 這就是代理的基本原理。
2。 代理的作用
說一下 HTTP代理IP的作用
突破自己的 IP 訪問限制,訪問一些平時訪問不了的網站。
訪問單位或團體的一些內部資源:如使用教育網內部地址段免費代理服務器,可用于對教育網開放的各種FTP下載和上傳,以及各種數據查詢和共享服務。
提高訪問速度:通常代理服務器會設置更大的硬盤緩沖區,當外部信息通過時,也會同時保存在緩沖區中,當其他用戶再次訪問相同的信息時, 信息直接從緩沖區中檢索并傳遞給用戶,以提高訪問速度。
隱藏真實IP:網民也可以通過這種方式隱藏自己的IP,避免被攻擊。 對于爬蟲,我們使用代理來隱藏我們的IP,防止我們的IP被屏蔽。
3。 爬蟲代理
在爬取數據的時候,因為爬蟲速度太快,會出現同一個IP訪問過于頻繁的問題。 這時候網站會被驗證或者直接屏蔽本地IP會給數據抓取帶來很大的不便。
使用代理隱藏真實IP,使服務器誤認為代理服務器在請求自己。 這樣通過在爬蟲過程中不斷改變爬蟲代理IP,就不會被屏蔽,可以達到很好的爬蟲效果。
4。 代理分類
代理分類時,可根據約定或匿名程度進行區分。
(1)根據協議
根據代理協議,代理可分為以下幾類。
FTP代理服務器:主要用于訪問FTP服務器,一般有上傳、下載和緩存功能,端口一般為21、2121等。
HTTP代理服務器:主要用于訪問web 頁面,一般有內容過濾和緩存功能,端口一般為80、8080、3128等。
SSL/TLS代理:主要用于訪問加密網站,通常帶有SSL或TLS加密功能(向上 到128位加密強度),端口一般為443。
RTSP代理:主要用于訪問Real流媒體服務器,一般有緩存功能,端口一般為554。
[ h] Telnet代理:主要用于telnet遠程控制(黑客入侵電腦時常使用隱藏身份),端口一般為23。
POP3/SMTP代理:主要用于發送和接收 POP3/SMTP 模式的電子郵件,普遍可用緩存功能,端口一般為110/25。
SOCKS代理:只傳輸數據包,不關心具體協議和用途,所以速度快很多,一般帶緩存功能,端口一般為1080。SOCKS代理協議劃分 進入 SOCKS4 和 SOCKS5。 前者只支持TCP,后者支持TCP和UDP。 它還支持各種認證機制和服務器端域名解析。 簡單的說,SOCK4能做的SOCKS5能做,但SOCKS5能做的SOCK4未必。
(2) 根據匿名程度
根據代理的匿名程度,代理可以分為以下幾類。
高度匿名代理:數據包會原封不動地轉發,從服務器的角度來看,看起來真的是一個普通的客戶端在訪問,記錄的IP就是代理服務器的IP。
普通匿名代理:數據包會有一些變化。 服務器可能會發現這是一個代理服務器,有一定幾率可以追蹤到客戶端的真實IP。 代理服務器通常添加的 HTTP 標頭是 HTTP_VIA 和 HTTP_X_FORWARDED_FOR。
透明代理:不僅改變數據包,還告訴服務器客戶端的真實IP。 這種代理除了可以利用緩存技術提高瀏覽速度和內容過濾提高安全性外,沒有其他顯著的效果。 最常見的示例是 Intranet 中的硬件防火墻。
間諜代理:指由組織或個人創建的一種代理服務器,用于記錄用戶傳輸的數據,進而進行研究、監控等目的。
5。 常用代理設置
使用網上免費代理:最好使用高度隱蔽的代理IP。 此外,可用的代理并不多。 您需要在使用前過濾可用的代理,或者您可以進一步維護一個代理池。
使用付費代理服務:網上有很多代理,可以收費使用,質量比免費代理好很多。
ADSL撥號:撥一個號碼換一個IP,穩定性高,也是一種更有效的解決方案。