『壹』 「2022 年」崔慶才 Python3 爬蟲教程 - 代理的使用方法
前面我們介紹了多種請求庫,如 urllib、requests、Selenium、Playwright 等用法,但是沒有統一梳理代理的設置方法,本節我們來針對這些庫來梳理下代理的設置方法。
在本節開始之前,請先根據上一節了解一下代理的基本原理,了解了基本原理之後我們可以更好地理解和學習本節的內容。
另外我們需要先獲取一個可用代理,代理就是 IP 地址和埠的組合,就是 : 這樣的格式。如果代理需要訪問認證,那就還需要額外的用戶名密碼兩個信息。
那怎麼獲取一個可用代理呢?
使用搜索引擎搜索 「代理」 關鍵字,可以看到許多代理服務網站,網站上會有很多免費或付費代理,比如快代理的免費 HTTP 代理:https://www.kuaidaili.com/free/ 上面就寫了很多免費代理,但是這些免費代理大多數情況下並不一定穩定,所以比較靠譜的方法是購買付費代理。付費代理的各大代理商家都有套餐,數量不用多,穩定可用即可,我們可以自行選購。
另外除了購買付費 HTTP 代理,我們也可以在本機配置一些代理軟體,具體的配置方法可以參考 https://setup.scrape.center/proxy-client,軟體運行之後會在本機創建 HTTP 或 SOCKS 代理服務,所以代理地址一般都是 127.0.0.1: 這樣的格式,不同的軟體用的埠可能不同。
這里我的本機安裝了一部代理軟體,它會在本地 7890 埠上創建 HTTP 代理服務,即代理為 127.0.0.1:7890。另外,該軟體還會在 7891 埠上創建 SOCKS 代理服務,即代理為 127.0.0.1:7891,所以只要設置了這個代理,就可以成功將本機 IP 切換到代理軟體連接的伺服器的 IP 了。
在本章下面的示例里,我使用上述代理來演示其設置方法,你也可以自行替換成自己的可用代理。
設置代理後,測試的網址是 http://httpbin.org/get,訪問該鏈接我們可以得到請求的相關信息,其中返回結果的 origin 欄位就是客戶端的 IP,我們可以根據它來判斷代理是否設置成功,即是否成功偽裝了 IP。
好,接下來我們就來看下各個請求庫的代理設置方法吧。
首先我們以最基礎的 urllib 為例,來看一下代理的設置方法,代碼如下:
運行結果如下:
這里我們需要藉助 ProxyHandler 設置代理,參數是字典類型,鍵名為協議類型,鍵值是代理。注意,此處代理前面需要加上協議,即 http:// 或者 https://,當請求的鏈接是 HTTP 協議的時候,會使用 http 鍵名對應的代理,當請求的鏈接是 HTTPS 協議的時候,會使用 https 鍵名對應的代理。不過這里我們把代理本身設置為了 HTTP 協議,即前綴統一設置為了 http://,所以不論訪問 HTTP 還是 HTTPS 協議的鏈接,都會使用我們配置的 HTTP 協議的代理進行請求。
創建完 ProxyHandler 對象之後,我們需要利用 build_opener 方法傳入該對象來創建一個 Opener,這樣就相當於此 Opener 已經設置好代理了。接下來直接調用 Opener 對象的 open 方法,即可訪問我們所想要的鏈接。
運行輸出結果是一個 JSON,它有一個欄位 origin,標明了客戶端的 IP。驗證一下,此處的 IP 確實為代理的 IP,並不是真實的 IP。這樣我們就成功設置好代理,並可以隱藏真實 IP 了。
如果遇到需要認證的代理,我們可以用如下的方法設置:
這里改變的只是 proxy 變數,只需要在代理前面加入代理認證的用戶名密碼即可,其中 username 就是用戶名,password 為密碼,例如 username 為 foo,密碼為 bar,那麼代理就是 foo:[email protected]:7890。
如果代理是 SOCKS5 類型,那麼可以用如下方式設置代理:
此處需要一個 socks 模塊,可以通過如下命令安裝:
這里需要本地運行一個 SOCKS5 代理,運行在 7891 埠,運行成功之後和上文 HTTP 代理輸出結果是一樣的:
結果的 origin 欄位同樣為代理的 IP,代理設置成功。
對於 requests 來說,代理設置非常簡單,我們只需要傳入 proxies 參數即可。
這里以我本機的代理為例,來看下 requests 的 HTTP 代理設置,代碼如下:
運行結果如下:
和 urllib 一樣,當請求的鏈接是 HTTP 協議的時候,會使用 http 鍵名對應的代理,當請求的鏈接是 HTTPS 協議的時候,會使用 https 鍵名對應的代理,不過這里統一使用了 HTTP 協議的代理。
運行結果中的 origin 若是代理伺服器的 IP,則證明代理已經設置成功。
如果代理需要認證,那麼在代理的前面加上用戶名和密碼即可,代理的寫法就變成如下所示:
這里只需要將 username 和 password 替換即可。
如果需要使用 SOCKS 代理,則可以使用如下方式來設置:
這里我們需要額外安裝一個包 requests[socks],相關命令如下所示:
運行結果是完全相同的:
另外,還有一種設置方式,即使用 socks 模塊,也需要像上文一樣安裝 socks 庫。這種設置方法如下所示:
使用這種方法也可以設置 SOCKS 代理,運行結果完全相同。相比第一種方法,此方法是全局設置的。我們可以在不同情況下選用不同的方法。
httpx 的用法本身就與 requests 的使用非常相似,所以其也是通過 proxies 參數來設置代理的,不過與 requests 不同的是,proxies 參數的鍵名不能再是 http 或 https,而需要更改為 http:// 或 https://,其他的設置是一樣的。
對於 HTTP 代理來說,設置方法如下:
對於需要認證的代理,也是改下 proxy 的值即可:
這里只需要將 username 和 password 替換即可。
運行結果和使用 requests 是類似的,結果如下:
對於 SOCKS 代理,我們需要安裝 httpx-socks 庫,安裝方法如下:
這樣會同時安裝同步和非同步兩種模式的支持。
對於同步模式,設置方法如下:
對於非同步模式,設置方法如下:
和同步模式不同的是,transport 對象我們用的是 AsyncProxyTransport 而不是 SyncProxyTransport,同時需要將 Client 對象更改為 AsyncClient 對象,其他的不變,運行結果是一樣的。
Selenium 同樣可以設置代理,這里以 Chrome 為例來介紹其設置方法。
對於無認證的代理,設置方法如下:
運行結果如下:
代理設置成功,origin 同樣為代理 IP 的地址。
如果代理是認證代理,則設置方法相對比較繁瑣,具體如下所示:
這里需要在本地創建一個 manifest.json 配置文件和 background.js 腳本來設置認證代理。運行代碼之後,本地會生成一個 proxy_auth_plugin.zip 文件來保存當前配置。
運行結果和上例一致,origin 同樣為代理 IP。
SOCKS 代理的設置也比較簡單,把對應的協議修改為 socks5 即可,如無密碼認證的代理設置方法為:
運行結果是一樣的。
對於 aiohttp 來說,我們可以通過 proxy 參數直接設置。HTTP 代理設置如下:
如果代理有用戶名和密碼,像 requests 一樣,把 proxy 修改為如下內容:
這里只需要將 username 和 password 替換即可。
對於 SOCKS 代理,我們需要安裝一個支持庫 aiohttp-socks,其安裝命令如下:
我們可以藉助於這個庫的 ProxyConnector 來設置 SOCKS 代理,其代碼如下:
運行結果是一樣的。
另外,這個庫還支持設置 SOCKS4、HTTP 代理以及對應的代理認證,可以參考其官方介紹。
對於 Pyppeteer 來說,由於其默認使用的是類似 Chrome 的 Chromium 瀏覽器,因此其設置方法和 Selenium 的 Chrome 一樣,如 HTTP 無認證代理設置方法都是通過 args 來設置的,實現如下:
運行結果如下:
同樣可以看到設置成功。
SOCKS 代理也一樣,只需要將協議修改為 socks5 即可,代碼實現如下:
運行結果也是一樣的。
相對 Selenium 和 Pyppeteer 來說,Playwright 的代理設置更加方便,其預留了一個 proxy 參數,可以在啟動 Playwright 的時候設置。
對於 HTTP 代理來說,可以這樣設置:
在調用 launch 方法的時候,我們可以傳一個 proxy 參數,是一個字典。字典有一個必填的欄位叫做 server,這里我們可以直接填寫 HTTP 代理的地址即可。
運行結果如下:
對於 SOCKS 代理,設置方法也是完全一樣的,我們只需要把 server 欄位的值換成 SOCKS 代理的地址即可:
運行結果和剛才也是完全一樣的。
對於有用戶名和密碼的代理,Playwright 的設置也非常簡單,我們只需要在 proxy 參數額外設置 username 和 password 欄位即可,假如用戶名和密碼分別是 foo 和 bar,則設置方法如下:
這樣我們就能非常方便地為 Playwright 實現認證代理的設置。
以上我們就總結了各個請求庫的代理使用方式,各種庫的設置方法大同小異,學會了這些方法之後,以後如果遇到封 IP 的問題,我們可以輕鬆通過加代理的方式來解決。
本節代碼:https://github.com/Python3WebSpider/ProxyTest
『貳』 手機無線手動設置IP和使用代理上網的方法
打開手機的設置頁面,點擊『WLAN'
進入後,點擊IP設置下,DHCP的下拉框
在彈出的菜單上,點擊『靜態』
選擇了靜態後,我們就可以手動輸入ip地址了。
點擊代理下的下拉框,彈出後選擇『手動』
選擇了手動後,我們在這里就可以輸入代理伺服器了。輸入後就可以用代理來上網了。
『叄』 使用代理伺服器上網的方法
代理伺服器(Proxy Server)是網上提供轉接功能的伺服器,在一般情況下,我們使用網路瀏覽器直接去連接其他Internet站點取得網路信息時,是直接聯繫到目的站點伺服器,然後由目的站點伺服器把信息傳送回來。下面就由我跟大家分享使用代理伺服器上網的方法吧,歡迎大家來閱讀學習。
使用代理伺服器上網的方法
HTTP代理伺服器的設置方法,對於IE和FireFox設置略有不同。設置前需要先找一些可用的免費代理伺服器地址。
IE的設置是這樣的,打開IE瀏覽器,選擇菜單欄的“工具/Internet選項...”。
這時候分兩種情況,對於ADSL撥號用戶來說,選擇一個網路連接後,點“設置”,如下圖所示,選中代理伺服器,填入地址和埠號。
『肆』 IP代理軟體怎麼使用
方法/步驟
1.滑鼠左鍵單擊菜單【工具】|【Internet選項】。
打開瀏覽器,比如IE瀏覽器,滑鼠左鍵單擊菜單【工具】|【Internet選項】,如下圖所示。
6.找到IP地址後,輸入到【代理伺服器】中,單擊【確定】按鈕。
最後,找到IP地址後,輸入到【代理伺服器】中,單擊【確定】按鈕,如下圖所示。關閉瀏覽器,重新打開網頁,這樣就是通過代理伺服器訪問網頁了。
『伍』 代理伺服器的使用方法
設置方法
1.IE5.0以上版本中設置代理:菜單欄「工具」->下拉菜單「Internet選項」->選項卡「連接」->在「區域網設置」中選中您目前 使用的連接,然後點擊右側的「設置」->在中間的「代理伺服器」欄選中「使用代理伺服器」->在「地址」 和「埠」欄輸入本站提供的HTTP代理伺服器->確定->確定。
2.MyIE2中設置代理伺服器:菜單欄「選項」——》「代理伺服器」——》「代理設置」——》在輸入框中輸入標准格式的代理伺服器,如XXX.XXX.XXX.XXX:埠,然後「確定」並退出,繼續,菜單欄「選項」——》「代理伺服器」——》然後選擇剛才輸入的代理伺服器
3.騰訊瀏覽器(TT瀏覽器)中設置代理伺服器:菜單欄「工具」——》「WWW代理」——》「設置代理」——》在代理設置對話框中,點擊「新增」——》在代理設置區中,輸入代理,然後「確定」並退出,繼續,菜單欄「工具」——》「WWW代理」——》然後選擇剛才輸入的代理伺服器
大家可到下面兩個網站查找最新代理
http://www.proxy4free.com/page1.html
http://fast.proxycn.com/proxy30/page1.htm
(注意:選擇代理最好選擇以下幾個國家的速度比較快,日本,澳大利亞,韓國,美國,加拿大
並不是每個代理都適合使用,請大家試著選用,一個不行就再換一個)
『陸』 如何使用代理伺服器
在電腦的【網路和共享中心】界面,選擇【設置新的連接或網路】-【連接到工作區】;點擊【使用我的Internet連接(VPN)】,輸入Internet地址;輸入你申請的賬號和密碼,驗證成功後即可成功連接到代理伺服器。具體介紹如下:
1、在電腦中的【網路和共享中心】界面下,單擊【設置新的連接或網路】,選擇【連接到工作區】,單擊【下一步】;
2、選擇【否,創建新連接】,單擊【下一步】;
3、點擊【使用我的Internet連接(VPN)】;
4、輸入Internet地址,也就是你申請的代理伺服器地址,可以是IP地址,也可以是域名,還可以是MAC地址;
5、輸入你申請的賬號和密碼,復選框以及域(可選)根據個人意願填寫,單擊【連接】,驗證成功後即可成功連接到代理伺服器。
『柒』 IP代理軟體怎麼使用
IP代理使用方法:
1、打開IP海IP代理,設置網路類型。
2、設置IP線路啟用連接。
3、連接後打開瀏覽器搜索ip地址所出來的結果就是當前換好的IP信息。
『捌』 怎麼使用代理ip來上網方法教程
有時我們上網可以不利用本地ip,而使用代理ip來增加安全性,如果只是簡單訪問網頁的話,那是非常簡單的,只要簡單幾步即可,下面就由我跟大家分享具體的操作方法吧,希望對大家有所幫助~
使用代理IP上網訪問網頁的方法
既然我們想要更換IP上網,那我們就需要找到其他的IP來代替我們的IP,怎麼找其他的IP呢? 我們可以網路,網上提供免費代理IP的有很多!
打開網路,輸入 免費代理IP,隨便進一個網頁,找到發布代理IP的地方,
代理IP的格式一般是 5.98.86.141:8080 “ : ” 前面的是區段, 後面的是 埠,這個很重要,好了,找到可以用的代理IP之後,我們來設置。
打開IE → 找到設置→ 打開 Internet選項→找到連接 。
其他方法:
如何設置用代理IP來上網瀏覽網頁
1. 找到可用的代理IP地址
2. 打開IE瀏覽器,在頂部菜單里找到“工具”(IE9用戶直接點擊右上角的齒輪圖標)
3. 點開“internet選項”
4. 切換到“連接”選項卡
5. 點擊按鈕“區域網設置”
6. 勾選“為LAN使用代理伺服器(這些設置不用於撥號或連接)
7. 在下面填寫好您找到的代理IP地址的IP與埠號
8. 點“確定”保存退出
此時您就可以使用代理IP地址來上網了。
『玖』 IP代理軟體怎麼使用
方法/步驟
滑鼠左鍵單擊菜單【工具】|【Internet選項】。
打開瀏覽器,比如IE瀏覽器,滑鼠左鍵單擊菜單【工具】|【Internet選項】,如下圖所示。