在我们书写爬虫程序的时候,可能都多多少少会遇到ip被封的问题,或者说ip被限制的问题,那么就需要用到ip代理了,那么ip代理在request里面的原理究竟是怎么实现的呢?下面和神龙IP一起来了解一下。
一、单个ip设置代理
import urllib.request
def create_handler():
url =
# 添加代理
proxy = {
# http: :4226 # 这是官方定义的
http: 119.5.72.6:4226
}
# 代理处理器
proxy_handler = urllib.request.ProxyHandler(proxy)
# 创建自己的opener
opener = urllib.request.build_opener(proxy_handler)
# 拿着代理ip去发送请求
data = opener.open(url).read()
print(data)
if __name__ == __main__:
create_handler()
二、多个ip设置代理
import urllib.request
def proxy_handel():
proxy_list = [
{http: 125.111.149.163:4205},
{http: 106.46.136.93:4225},
{http: 114.230.18.38:4228},
{http: 115.151.50.141:4273},
{http: 182.105.201.153:4275},
]
for proxy in proxy_list:
print(proxy)
# 创造处理器
proxy_head = urllib.request.ProxyHandler(proxy)
# 创建opener
opener = urllib.request.build_opener(proxy_head)
try:
print(opener.open(, timeout=1).read())
print(==*20)
except Exception as e:
print(e)
if __name__ == __main__:
proxy_handel()