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