中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python3網絡爬蟲實戰-19、代理基本原理

發布時間:2020-07-04 23:39:24 來源:網絡 閱讀:178 作者:學Python派森 欄目:編程語言

我們在做爬蟲的過程中經常會遇到這樣的情況,最初爬蟲正常運行,正常抓取數據,一切看起來都是那么的美好,然而一杯茶的功夫可能就會出現錯誤,比如 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。這種代理除了能用緩存技術提高瀏覽速度,能用內容過濾提高安全性之外,并無其他顯著作用,最常見的例子是內網中的硬件防火墻。
  • 間諜代理,間諜代理指組織或個人創建的,用于記錄用戶傳輸的數據,然后進行研究、監控等目的代理服務器。Python資源分享qun 784758214 ,內有安裝包,PDF,學習視頻,這里是Python學習者的聚集地,零基礎,進階,都歡迎

4. 常見代理設置

  • 使用網上的免費代理,最好使用高匿代理,使用前抓取下來篩選一下可用代理,也可以進一步維護一個代理池。
  • 使用付費代理服務,互聯網上存在許多代理商,可以付費使用,質量比免費代理好很多。
  • ADSL撥號,撥一次號換一次 IP,穩定性高,也是一種比較有效的解決方案。

在后文我們會詳細介紹這幾種代理的使用方式。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

上林县| 开平市| 丰原市| 武强县| 白水县| 高州市| 双城市| 万山特区| 商南县| 信阳市| 延边| 平江县| 青海省| 宁都县| 六盘水市| 萨嘎县| 无极县| 锡林郭勒盟| 金坛市| 太康县| 广昌县| 永新县| 鹰潭市| 丽水市| 西贡区| 桐梓县| 双城市| 米脂县| 上杭县| 花莲市| 万载县| 湟中县| 九江县| 江油市| 呼和浩特市| 伊宁县| 肃宁县| 都昌县| 嘉禾县| 班戈县| 乳源|