摘要:所以使用代理隱藏真實的,讓服務器誤以為是代理服務器的在請求自己。參考來源由于涉及到一些專業名詞知識,本節的部分內容參考來源如下代理服務器維基百科代理百度百科上一篇文章網絡爬蟲實戰和下一篇文章網絡爬蟲實戰使用發送請求
上一篇文章:Python3網絡爬蟲實戰---18、Session和Cookies
下一篇文章:Python3網絡爬蟲實戰---20、使用Urllib:發送請求
我們在做爬蟲的過程中經常會遇到這樣的情況,最初爬蟲正常運行,正常抓取數據,一切看起來都是那么的美好,然而一杯茶的功夫可能就會出現錯誤,比如 403 Forbidden,這時候打開網頁一看,可能會看到“您的 IP 訪問頻率太高”這樣的提示。出現這樣的現象的原因是網站采取了一些反爬蟲的措施,比如服務器會檢測某個 IP 在單位時間內的請求次數,如果超過了這個閾值,那么會直接拒絕服務,返回一些錯誤信息,這種情況可以稱之為封 IP,于是乎就成功把我們的爬蟲禁掉了。
既然服務器檢測的是某個 IP 單位時間的請求次數,那么我們借助某種方式來偽裝我們的 IP,讓服務器識別不出是由我們本機發起的請求,不就可以成功防止封 IP 了嗎?
那么在這里一種有效的方式就是使用代理,使用它我們可以成功偽裝 IP,避免本機 IP 被封禁的情況,在后文會有詳細的代理使用的說明,在這之前我們需要先了解下代理的基本原理,它是怎樣實現 IP 偽裝的呢?本節就讓我們先了解一下代理的概念。
1. 基本原理我們常稱呼的代理實際上指的就是代理服務器,英文叫做 Proxy Server,它的功能是代理網絡用戶去取得網絡信息。形象地說,它是網絡信息的中轉站。在我們正常請求一個網站時,是發送了 Request 給 Web 服務器,Web 服務器把 Response 傳回給我們。如果設置了代理服務器,實際上就是在本機和服務器之間搭建了一個橋,此時本機不是直接向 Web 服務器發起請求,而是向代理服務器發出請求, Request 會發送給代理服務器,然后由代理服務器再發送給 Web 服務器,然后由代理服務器再把 Web 服務器返回的 Response 轉發給本機,這樣我們同樣可以正常訪問網頁,但這個過程 Web 服務器識別出的真實的 IP 就不再是我們本機的 IP 了,就成功實現了 IP 偽裝,這就是代理的基本原理。
2. 代理的作用那么代理有什么作用呢?我們可以簡單列舉如下:
突破自身 IP 訪問限制,訪問一些平時不能訪問的站點。
訪問一些單位或團體內部資源,如使用教育網內地址段免費代理服務器,就可以用于對教育網開放的各類 FTP 下載上傳,以及各類資料查詢共享等服務。
提高訪問速度,通常代理服務器都設置一個較大的硬盤緩沖區,當有外界的信息通過時,同時也將其保存到緩沖區中,當其他用戶再訪問相同的信息時, 則直接由緩沖區中取出信息,傳給用戶,以提高訪問速度。
隱藏真實 IP,上網者也可以通過這種方法隱藏自己的 IP,免受攻擊,對于爬蟲來說,我們用代理就是為了隱藏自身 IP,防止自身的 IP 被封鎖。
3. 爬蟲代理對于爬蟲來說,由于爬蟲爬取速度過快,在爬取過程中可能遇到同一個 IP 訪問過于頻繁的問題,網站就會讓我們輸入驗證碼或登錄或者直接封鎖 IP,這樣會給爬取帶來極大的不便。
所以使用代理隱藏真實的 IP,讓服務器誤以為是代理服務器的在請求自己。這樣在爬取過程中通過不斷更換代理,就不會被封鎖,可以達到很好的爬取效果。
4. 代理分類代理分類時可以根據協議區分也可以根據其匿名程度區分,下面分別總結如下:
根據協議區分根據代理的協議區分,代理可以分為如下類別:
FTP 代理服務器,主要用于訪問 FTP 服務器,一般有上傳、下載以及緩存功能,端口一般為 21、2121 等。
HTTP 代理服務器,主要用于訪問網頁,一般有內容過濾和緩存功能,端口一般為 80、8080、3128 等。
SSL/TLS 代理,主要用于訪問加密網站,一般有 SSL 或 TLS 加密功能(最高支持 128 位加密強度),端口一般為 443。
RTSP 代理,主要用于 Realplayer 訪問 Real 流媒體服務器,一般有緩存功能,端口一般為 554。
Telnet代理,主要用于 telnet 遠程控制(黑客入侵計算機時常用于隱藏身份),端口一般為23。
POP3/SMTP 代理,主要用于 POP3/SMTP 方式收發郵件,一般有緩存功能,端口一般為 110/25。
SOCKS代理,只是單純傳遞數據包,不關心具體協議和用法,所以速度快很多,一般有緩存功能,端口一般為1080。SOCKS 代理協議又分為 SOCKS4 和 SOCKS5,SOCKS4 協議只支持 TCP,而 SOCKS5 協議支持 TCP 和 UDP,還支持各種身份驗證機制、服務器端域名解析等。簡單來說,SOCK4能做到的SOCKS5都可以做到,但SOCKS5能做到的SOCK4不一定能做到。
根據匿名程度區分根據代理的匿名程度劃分,代理可以分為如下類別:
高度匿名代理,高度匿名代理會將數據包原封不動的轉發,在服務端看來就好像真的是一個普通客戶端在訪問,而記錄的 IP 是代理服務器的 IP。
普通匿名代理,普通匿名代理會在數據包上做一些改動,服務端上有可能發現這是個代理服務器,也有一定幾率追查到客戶端的真實 IP。代理服務器通常會加入的 HTTP 頭有 HTTP_VIA 和 HTTP_X_FORWARDED_FOR。
透明代理,透明代理不但改動了數據包,還會告訴服務器客戶端的真實 IP。這種代理除了能用緩存技術提高瀏覽速度,能用內容過濾提高安全性之外,并無其他顯著作用,最常見的例子是內網中的硬件防火墻。
間諜代理,間諜代理指組織或個人創建的,用于記錄用戶傳輸的數據,然后進行研究、監控等目的代理服務器。
4. 常見代理設置使用網上的免費代理,最好使用高匿代理,使用前抓取下來篩選一下可用代理,也可以進一步維護一個代理池。
使用付費代理服務,互聯網上存在許多代理商,可以付費使用,質量比免費代理好很多。
ADSL撥號,撥一次號換一次 IP,穩定性高,也是一種比較有效的解決方案。
在后文我們會詳細介紹這幾種代理的使用方式。
5. 參考來源由于涉及到一些專業名詞知識,本節的部分內容參考來源如下:
代理服務器 維基百科:https://zh.wikipedia.org/wiki...
代理 百度百科:https://baike.baidu.com/item/...
上一篇文章:Python3網絡爬蟲實戰---18、Session和Cookies
下一篇文章:Python3網絡爬蟲實戰---20、使用Urllib:發送請求
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/44049.html
摘要:而在中對象用來存儲特定用戶會話所需的屬性及配置信息。當會話過期或被放棄后,服務器將終止該會話。,即該是否僅被使用安全協議傳輸。安全協議有,等,在網絡上傳輸數據之前先將數據加密。 上一篇文章:Python3網絡爬蟲實戰---17、爬蟲基本原理下一篇文章:Python3網絡爬蟲實戰---19、代理基本原理 在瀏覽網站的過程中我們經常會遇到需要登錄的情況,有些頁面只有登錄之后我們才可以訪問...
摘要:下面我們傳入多個參數構建一個來感受一下在這里我們通過四個參數構造了一個,即請求,在中指定了和,傳遞的參數用了和方法來轉成字節流,另外指定了請求方式為。運行結果如下通過觀察結果可以發現,我們成功設置了,以及。用于處理重定向。 上一篇文章:Python3網絡爬蟲實戰---19、代理基本原理下一篇文章:Python3網絡爬蟲實戰---21、使用Urllib:處理異常 學習爬蟲,最初的操作便...
摘要:上一篇文章網絡爬蟲實戰部署相關庫的安裝下一篇文章網絡爬蟲實戰網頁基礎在寫爬蟲之前,還是需要了解一些爬蟲的基礎知識,如原理網頁的基礎知識爬蟲的基本原理基本原理等。由萬維網協會和工作小組共同合作制定的規范,目前廣泛使用的是版本。 上一篇文章:Python3網絡爬蟲實戰---14、部署相關庫的安裝:Scrapyrt、Gerapy下一篇文章:Python3網絡爬蟲實戰---16、Web網頁基礎...
摘要:時間永遠都過得那么快,一晃從年注冊,到現在已經過去了年那些被我藏在收藏夾吃灰的文章,已經太多了,是時候把他們整理一下了。那是因為收藏夾太亂,橡皮擦給設置私密了,不收拾不好看呀。 ...
摘要:點擊,即可進入證書的安裝頁面。上一篇文章網絡爬蟲實戰庫的安裝下一篇文章網絡爬蟲實戰爬取相關庫的安裝的安裝 上一篇文章:Python3網絡爬蟲實戰---6、Web庫的安裝:Flask、Tornado下一篇文章:Python3網絡爬蟲實戰---8、APP爬取相關庫的安裝:MitmProxy的安裝 除了 Web 網頁,爬蟲也可以對 APP 的數據進行抓取,APP 中的頁面要加載出來,首先需...
閱讀 2211·2019-08-30 15:54
閱讀 1947·2019-08-30 13:49
閱讀 665·2019-08-29 18:44
閱讀 824·2019-08-29 18:39
閱讀 1104·2019-08-29 15:40
閱讀 1524·2019-08-29 12:56
閱讀 3134·2019-08-26 11:39
閱讀 3094·2019-08-26 11:37