1. 程式人生 > >Python爬蟲知識點——代理

Python爬蟲知識點——代理

爬蟲 加密 流媒體服務器 訪問限制 媒體 高訪問 服務器 內容過濾 真的

代理

基本原理

代理實際上指代理服務器。功能是代理 網絡用戶去取得網絡信息,是網絡信息的中轉站。

正常的請求過程為:發送請求給服務器===>web服務器吧響應傳回

設置代理服務器後:==>向代理服務器發送請求==>請求發送給代理服務器==>再由代理服務器發送web服務器==>由代理服務器把web服務器返回的響應轉發給本機

作用

突破自身IP訪問限制,訪問些平時不能訪問的站點。

訪問一些單位或團體內部資源:比如使用教育網內地址段免費代理服務器,就可以用於對教育網開放的各類FTP下載上傳,以及各類資料查詢共享等服務。

提高訪問速度:通常代理服務器都設置-一個較大的硬盤緩沖區,當有外界的信息通過時,同時也將其保存到緩沖區中,當其他用戶再訪問相同的信息時,則直接由緩沖區中取出信息傳給用戶,以提高訪問速度。

隱藏真實IP:上網者也可以通過這種方法隱藏自己的IP,免受攻擊。對於爬蟲來說,我們用代理就是為了隱藏自身IP,防止自身的IP被封鎖。

代理分類

根據代理的協議,代理可以分為如下類別。
  • FTP代理服務器: 主要用於訪問FTP服務器,一般有上傳、 下載以及緩存功能,端口一般為 21、2121等。

  • HTTP代理服務器:主要用於訪問網頁,一般有內容過濾和緩存功能,端口一般為808080、3128 等。
  • SSL/TLS代理:主要用於訪同加密網站,般有 SsL 或TLS 加密功能(最高支持128位加密強度),端口一般為443。
  • RTSP代理:主要用於訪問Real流媒體服務器,一般有緩存功能, 端口般為554。
  • Telnet代理: 主要用於tenei遠程控制黑客人侵計算機時常用於隱藏身份),端口一般為23
  • POP3/SMTP代理:主要用於POP3/SMTP方式收發郵件,一般有緩存功能,端口-般為1025.口SOCKS代理:只是單純傳遞數據包,不關心具體協議和用法,所以速度快很多,一般 有 存功能,端口一般為1080。SOCKS代理協議又分為SOCKS4和SOCKS5,前者只支持TCP而後者支持TCP和UDP,還支持各種身份驗證機制、服務器端域名解析等。簡單來說SOCKS4能做到的SOCKS5都可以做到,但SOCKSS能做到的SOCKS4不一定能做到。

2.根據匿名程度區分 根據代理的匿名程度,代理可以分為如下類別。
  • 高度匿名代理:會將數據包原封不動地轉發,在服務端看來就好像真的是一 個普通客戶端訪問,而記錄的IP是代理服務器的IP。
  • 普通匿名代理:會在數據包上做一些改動, 服務端上有可能發現這是個代理服務器,也有一定幾率追查到客戶端的真實IP。代理服務器通常會加人的HTTP頭有HTTP_VIA和HTTP_X_FORWARDED_FOR.
  • 透明代理:不但改動了數據包,還會告訴服務器客戶端的真實IP。這種代理除了能用緩存技術調高瀏覽速度,能用內容過濾提高安全性之外,並無其他顯著作用,最常見的例子是內網中的硬件防火墻。
  • 間諜代理:指組織或個人創建的用於記錄用戶傳輸的數據, 然後進行研究、監控等目的代理服務器。

    常用代理設置

  • 網上的免費代理
  • 付費的代理服務
  • ADSL撥號

文章摘自崔慶才的《Python3網絡爬蟲開發實戰》

Python爬蟲知識點——代理