proxy简介

proxy即为代理,我们爬虫的时候肯定会有频繁访问某一网站的情况,这个时候有些服务器会识别到我们是非正常访问,就会把我们的IP禁掉,这个时候就需要用代理了。

就好比现实生活中,我需要向A借一件东西,但是我跟A是仇人,直接向他借的话他不会借给我,这个时候我就让B帮我像A借,就说他要用,然后B借到东西之后再把东西给我用,这时,B就是我的代理了。

常用的免费代理网站:http://www.goubanjia.com/。

爬虫应该选择什么样的代理?

  • 针对不需要用户登录,cookie验证的网站,一般选择动态高匿代理。
  • 对于需要用户登录,身份认证的。一般选择静态IP

使用proxy的步骤

  1. 设置代理地址


1




proxy = {'http':'52.187.162.198:3128'}





  1. 创建ProxyHeader


1




proxyHeader = request.ProxyHandler(proxy)





  1. 创建Opener


1




opener = request.build_opener(proxyHeader)





  1. 安装Opener


1




request.install_opener(opener)





示例





1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19




​from​​ ​​urllib ​​​​import​​ ​​request​


 


​# 设置代理地址​


​proxy ​​​​=​​ ​​{​​​​'http'​​​​:​​​​'52.187.162.198:3128'​​​​}​


 


​# 创建ProxyHeader​


​proxyHeader ​​​​=​​ ​​request.ProxyHandler(proxy)​


 


​# 创建Opener​


​opener ​​​​=​​ ​​request.build_opener(proxyHeader)​


 


​# 安装Opener​


​request.install_opener(opener)​


 


​# 然后剩下的就跟正常使用差不多,只不过此时的request已经是绑定了代理之后的request​


​url ​​​​=​​ ​​'https://www.taobao.com/'​


​req ​​​​=​​ ​​request.Request(url)​


​response ​​​​=​​ ​​request.urlopen(req)​


​print​​​​(response.read().decode())​