赞
踩
代理用处:
突破自身IP访问限制,访问国外资源
访问单位或公司内部资源
提高访问速度
隐藏自身IP
许多网站都会在一定的时间段内,通过流量统计、系统日志等方式来判断某个IP的访问量,而当 IP的访问量超过正常用户的时候,就会被屏蔽。因此,我们一般都会建立一个代理,定期更换一个代理,即使这个 IP被屏蔽了,也可以换另一个 IP继续访问。
urllib 模块使用代理
urllib 模块使用代理步骤:
需要先用代理构建一个ProxyHandler处理器的类,参数是一个字典类型,内容为代理类型和代理服务器IP和端口,
然后用ProxyHandler实例构建opener对象,
最后用opener对象调用open()方法发送请求。
使用实例:
import urllib.request url = 'http://www.ipaddress.my/?lang=zh_CN' headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.0.5261 SLBChan/10' } request = urllib.request.Request(url=url,headers=headers) #设置ip代理 proxy = { 'http':'1.85.220.77:8118' } #构建ProxyHandler处理器 handler = urllib.request.ProxyHandler(proxies=proxy) #构建opener的对象 opener = urllib.request.build_opener(handler) #调用open()方法发送请求 response = opener.open(request) content = response.read().decode('utf-8') file = open('myIP.html','w',encoding='utf-8') file.write(content)
这些免费的代理IP通常有很多人在使用,而且有寿命短、速度慢、匿名度不高、HTTP/HTTPS支持不稳定等缺点,在访问url时可能会被拒绝访问:
如果需要使用高品质的安全的代理,可以在这购买
IP代理池
代理池就是自己去收集网上的可用免费代理,自建自己的代理池。然后在使用的时候从代理池中随机选择一个代理去访问网站。避免总是使用同一个IP去访问网站,减低被网站屏蔽的风险。
使用实例:自定义简易版的代理池
import random
proxy_list = [
{"http" : "202.55.5.209:8090"},
{"http" : "101.200.127.149:3129"},
{"http" : "220.168.52.245:53548"},
{"http" : "121.13.252.58:41564"},
{"http" : "47.106.105.236:80"}
]
# 随机选择一个代理
proxy = random.choice(proxy_list)
补充:User-Agent (用户代理)池,类似IP代理池,就是把多个浏览器的User-Agent数据放入列表中,然后再从中随机选择一个来使用。
使用User-Agent (用户代理)池,能够避免总是使用一个 User-Agent来访问网站,因为短时间内总使用同一个 User-Agent高频率访问的网站,可能会引起网站的警觉,从而屏蔽掉 IP。
自定义简易User-Agent (用户代理)池:
ua_list = [
'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11',
'User-Agent:Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11',
'Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1',
'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)',
'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50',
'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0',
' Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1',
'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1',
' Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1',
]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。