Python3网络爬虫实战-19、代理基本原理

发布时间:2020-07-04 23:39:24 作者:学Python派森
来源:网络 阅读:164

我们在做爬虫的过程中经常会遇到这样的情况,最初爬虫正常运行,正常抓取数据,一切看起来都是那么的美好,然而一杯茶的功夫可能就会出现错误,比如 403 Forbidden,这时候打开网页一看,可能会看到“您的 IP 访问频率太高”这样的提示。出现这样的现象的原因是网站采取了一些反爬虫的措施,比如服务器会检测某个 IP 在单位时间内的请求次数,如果超过了这个阈值,那么会直接拒绝服务,返回一些错误信息,这种情况可以称之为封 IP,于是乎就成功把我们的爬虫禁掉了。

既然服务器检测的是某个 IP 单位时间的请求次数,那么我们借助某种方式来伪装我们的 IP,让服务器识别不出是由我们本机发起的请求,不就可以成功防止封 IP 了吗?

那么在这里一种有效的方式就是使用代理,使用它我们可以成功伪装 IP,避免本机 IP 被封禁的情况,在后文会有详细的代理使用的说明,在这之前我们需要先了解下代理的基本原理,它是怎样实现 IP 伪装的呢?本节就让我们先了解一下代理的概念。

1. 基本原理

我们常称呼的代理实际上指的就是代理服务器,英文叫做 Proxy Server,它的功能是代理网络用户去取得网络信息。形象地说,它是网络信息的中转站。在我们正常请求一个网站时,是发送了 Request 给 Web 服务器,Web 服务器把 Response 传回给我们。如果设置了代理服务器,实际上就是在本机和服务器之间搭建了一个桥,此时本机不是直接向 Web 服务器发起请求,而是向代理服务器发出请求, Request 会发送给代理服务器,然后由代理服务器再发送给 Web 服务器,然后由代理服务器再把 Web 服务器返回的 Response 转发给本机,这样我们同样可以正常访问网页,但这个过程 Web 服务器识别出的真实的 IP 就不再是我们本机的 IP 了,就成功实现了 IP 伪装,这就是代理的基本原理。

2. 代理的作用

那么代理有什么作用呢?我们可以简单列举如下:

3. 爬虫代理

对于爬虫来说,由于爬虫爬取速度过快,在爬取过程中可能遇到同一个 IP 访问过于频繁的问题,网站就会让我们输入验证码或登录或者直接封锁 IP,这样会给爬取带来极大的不便。

所以使用代理隐藏真实的 IP,让服务器误以为是代理服务器的在请求自己。这样在爬取过程中通过不断更换代理,就不会被封锁,可以达到很好的爬取效果。

4. 代理分类

代理分类时可以根据协议区分也可以根据其匿名程度区分,下面分别总结如下:

根据协议区分

根据代理的协议区分,代理可以分为如下类别:

根据匿名程度区分

根据代理的匿名程度划分,代理可以分为如下类别:

4. 常见代理设置

在后文我们会详细介绍这几种代理的使用方式。

推荐阅读:
  1. Python3网络爬虫实战-30、PyQuery
  2. Python3网络爬虫实战-25、requests:高级用法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python 爬虫 数据挖掘

上一篇:百融榕树使用Python 的优势,百融榕树做好前期数据处理

下一篇:Android开发 - 获取Android设备的唯一标识码(Android 6.0或更高)

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》