‘’’ 目的:机器程序每秒发送请求太多,服务器识别出ip请求太多会发送错误代码, 借助多个代理服务器,每秒发送一个请求,提高爬虫执行效率,可以隐藏自己(服务器只知道代理,不知道本机IP) ‘’’ import urllib.request ‘’’ #实现启用代理或不启用代理 #1.定义参数 proxy_switch = True #False if proxy_switch: proxies = {‘http’: ‘39.108.234.144:80’} else: proxies = {} ‘’’ #代理;高匿代理(广州或者深圳端口80) proxies ={‘http’:‘39.108.234.144:80’} #1.创建ProxyHandler对象 proxy_handler = urllib.request.ProxyHandler(proxies) #指定参数(字典)存放代理IP(上接))
#2.创建opener对象 opener = urllib.request.build_opener(proxy_handler) #发送请求 response = opener.open(‘http://www.baidu.com’) print(response.read().decode())
#案例:随机代理 import random proxies_list = [ {‘http’:‘39.108.234.144:80’}, {}, {}, ] “”" #随机选出代理 proxy = random.choice(proxies_list) print(proxy) proxy_handler = urllib.request.ProxyHandler(proxies) #指定参数(字典)存放代理IP(上接))
#2.创建opener对象 opener = urllib.request.build_opener(proxy_handler) #发送请求 response = opener.open(‘http://www.baidu.com’) print(response.read().decode()) “”"
