- 實戰Python網絡爬蟲
- 黃永祥
- 392字
- 2019-11-22 18:44:40
5.4 代理IP
代理IP的原理:以本機先訪問代理IP,再通過代理IP地址訪問互聯網,這樣網站(服務器)接收到的訪問IP就是代理IP地址。
Urllib提供了urllib.request.ProxyHandler()方法可動態設置代理IP池,代理IP主要以字典格式寫入方法。完成代理IP設置后,將設置好的代理IP寫入urllib.request.build_opener()方法,生成對象opener,然后通過opener的open()方法向網站(服務器)發送請求。
沿用前面章節的例子,將例子改為使用代理IP訪問網站,代碼如下:

注意,由于使用代理IP,因此連接IP的時候有可能出現超時而導致報錯,遇到這種情況只要更換其他代理IP地址或者再次訪問即可。以下是常見的報錯信息。
● ConnectionResetError:[WinError 10054]遠程主機強迫關閉了一個現有的連接。
● urllib.error.URLError:urlopen error Remote end closed connection without response(結束沒有響應的遠程連接)。
● urllib.error.URLError: urlopen error [WinError 10054]遠程主機強迫關閉了一個現有的連接。
● TimeoutError: [WinError 10060]由于連接方在一段時間后沒有正確答復或連接的主機沒有反應,因此連接嘗試失敗。
● urllib.error.URLError:urlopen error [WinError 10061]由于目標計算機拒絕訪問,因此無法連接。
推薦閱讀
- ASP.NET Web API:Build RESTful web applications and services on the .NET framework
- C語言程序設計習題解析與上機指導(第4版)
- C++ Builder 6.0下OpenGL編程技術
- 深入淺出Prometheus:原理、應用、源碼與拓展詳解
- 樂高機器人設計技巧:EV3結構設計與編程指導
- MariaDB High Performance
- PostgreSQL 11從入門到精通(視頻教學版)
- Swift語言實戰精講
- 區塊鏈底層設計Java實戰
- Windows內核編程
- 微服務架構深度解析:原理、實踐與進階
- 用戶體驗可視化指南
- 細說Python編程:從入門到科學計算
- Practical Predictive Analytics
- Hands-On Robotics Programming with C++