proxy简介
proxy即为代理,我们爬虫的时候肯定会有频繁访问某一网站的情况,这个时候有些服务器会识别到我们是非正常访问,就会把我们的IP禁掉,这个时候就需要用代理了。
就好比现实生活中,我需要向A借一件东西,但是我跟A是仇人,直接向他借的话他不会借给我,这个时候我就让B帮我像A借,就说他要用,然后B借到东西之后再把东西给我用,这时,B就是我的代理了。
常用的免费代理网站:http://www.goubanjia.com/。
爬虫应该选择什么样的代理?
- 针对不需要用户登录,cookie验证的网站,一般选择动态高匿代理。
- 对于需要用户登录,身份认证的。一般选择静态IP
使用proxy的步骤
- 设置代理地址
1
proxy={'http':'52.187.162.198:3128'} - 创建ProxyHeader
1
proxyHeader=request.ProxyHandler(proxy) - 创建Opener
1
opener=request.build_opener(proxyHeader) - 安装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'}# 创建ProxyHeaderproxyHeader = request.ProxyHandler(proxy)# 创建Openeropener = request.build_opener(proxyHeader)# 安装Openerrequest.install_opener(opener)# 然后剩下的就跟正常使用差不多,只不过此时的request已经是绑定了代理之后的requesturl = 'https://www.taobao.com/'req = request.Request(url)response = request.urlopen(req)print(response.read().decode()) |