ProxyHandler处理器(爬虫代理IP)

1.代理的原理:在请求目的网站之前,先请求代理服务器,然后让代理服务器去请求目的网站,代理服务器拿到目的网站的数据,再转发给我们代码。
2.http://httpbin.org:这个网站可以方便查看http请求的一些参数。
3.在代码中使用代理:

  • 使用urllib.request.ProxyHandler,传入一个代理,这个代理是一个字典,字典的key依赖于代理服务器能够接收的类型,一般是’http’或者’https’,值是ip:port。

  • 使用上一步创建的’handler’,以及’request.buid_opener’创建一个’opener’。

  • 使用上一步创建的’opener’,调用’open’函数,发起请求。
    示例代码如下:

#使用代理:
from urllib import request
url = 'http://httpbin.org/ip'
#1.使用proxyHandler传入代理构建一个handler
handler = request.ProxyHandler({"http":"223.241.78.43:8010"})
#2.使用上面的handler构建一个opener
opener = request.build_opener(handler)
#3.使用opener去发送请求
resp = opener.open(url)
print(resp.read())

使用代理好处:
代理IP相当于一个信息中转站,它会代替客户端向服务器发送请求,并将服务器返回的响应转发给客户,相当于一个连接客户端和服务器的桥梁。正是代理IP的工作原理决定了它具有广泛的应用。

使用过爬虫的人应该都会遇到,就是爬取的时候IP会突然被网站封掉,这是因为大多数网站都会设置“反爬虫”措施。

为什么要反爬虫?因为爬虫会在短时间内发出大量请求,会影响正常用户的访问体验,严重的还会导致网站瘫痪,所以网站一般都会设置反爬虫措施。

由于存在反爬虫措施,所以爬虫的IP经常会被封禁。不过使用了动态IP代理的爬虫,就不会出现这种情况。因为动态代理IP每隔一段时间就会切换新的IP,如果IP被封禁了,换个IP就可以继续爬虫了。

普通的爬虫,如果使用了代理IP,就可以有效的解决反爬的问题,提高工作效率,这就是爬虫使用代理IP最大的效果。
不使用代理IP:

#没有代理
from urllib import request
url = 'http://httpbin.org/ip'
resp = request.urlopen(url)
print(resp.read())

分别分享了两种自己所学方法,希望能够帮助大家。更快的了解代理IP的使用。

网上最实用的三大代理IP网站:

1.西刺免费代理IP:http://www.xicidaili.com/
2.快代理:http://www.kuaidaili.com/
3.代理云:http://www.dailiyun.com/

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
【为什么学爬虫?】        1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到!        2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是:网络请求:模拟浏览器的行为从网上抓取数据。数据解析:将请求下来的数据进行过滤,提取我们想要的数据。数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是:爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求!【课程服务】 专属付费社群+定期答疑

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@cheung

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值