之前我们学习了通过伪装成浏览器去访问网址,这篇文章我们一起学习一下如何使用代理IP进行访问。可以在网上找一些免费的代理IP来使用,如西刺免费代理IP。
首先,定义要访问的url和一个代理IP:
# 定义要访问的url
url = "http://www.baidu.com"
# 定义代理IP,格式为:{"protocol_name": "ip:port"}
proxy = {"http": "112.85.130.178:9999"}
之后创建一个自定义opener:
from urllib import request
# 构建代理处理器对象
proxy_handler = request.ProxyHandler(proxy)
# 创建自定义opener
opener = request.build_opener(proxy_handler)
发送请求并查看响应结果:
from urllib import request
# 定义要访问的url
url = "http://www.baidu.com"
# 定义代理IP,格式为:{"protocol_name": "ip:port"}
proxy = {"http": "14.115.105.134:9797"}
# 构建代理处理器对象
proxy_handler = request.ProxyHandler(proxy)
# 创建自定义opener
opener = request.build_opener(proxy_handler)
# 创建请求对象
req = request.Request(url)
# 发送请求
response = opener.open(req).read().decode()
print(response)
使用多个代理IP进行随机请求的办法:
import random
proxy_list = [
{"http": "121.79.131.58:8080"},
{"http": "112.85.129.30:9999"},
]
proxy = random.choice(proxy_list)