0
点赞
收藏
分享

微信扫一扫

ProxyHeadler处理器(代理设置)


爬虫为什么要设置代理?

很多网站会检测某一段时间某个IP的访问次数(通过流量统计,系统日志等),如果访问次数多的不像正常人,它会禁止这个IP的访问。所以我们可以设置一些代理服务器,每隔一段时间换一个代理,就算IP被禁止,依然可以换个IP继续爬取。

代理的原理:

在请求目的服务器之前,先请求代理服务器,然后让代理服务器去请求目的服务器,代理服务器从目的服务器拿到数据后,转发给我们的代码

代码中使用代理的步骤:

  1. 使用ProxyHandler传入代理,构建一个handler
  2. 使用handler构建一个opener
  3. 使用open()发送请求

from urllib import request
import ssl


def main():
# 不使用代理
# 返回访问的ip
url = 'http://httpbin.org/ip'
res = request.urlopen(url)
print("不使用代理返回ip:\n", res.read().decode('utf-8'))

# 使用代理
# 1.使用ProxyHandler传入代理,构建一个handler
handler = request.ProxyHandler({'http': "111.72.25.191:9999"})
# 2.使用handler构建一个opener
opener = request.build_opener(handler)
# 3.使用open()发送请求
res = opener.open(url)
print("使用代理返回ip:\n",res.read().decode('utf-8'))


if __name__ == '__main__':
main()

运行结果:

ProxyHeadler处理器(代理设置)_系统日志

常用的代理:
  • ​​西刺代理​​ : http://www.xicidaili.com/
  • ​​快代理​​:http://www.kuaidaili.com/
  • ​​代理云​​:http://www.dailiyun.com/


举报

相关推荐

0 条评论