常见的反爬虫措施

大家学习爬虫,必然会遇到一些反爬虫措施,本文将为大家介绍常见的几种反爬虫措施思路

什么是反爬虫?

反爬虫就是使用任何技术手段,阻止别人批量获取自己网站信息的一种方式。

常见的反爬虫机制

1.封IP

网站运维人员在对日志进行分析时有可能会发现同一时间段内某一个或几个IP访问量特别大,由于爬虫是通过程序来自动化爬取页面信息的,因此其单位时间的请求量较大,且相邻请求时间间隔较为固定,这时就基本可以判断是爬虫程序所为,此时即可在服务器上对异常IP进行封锁。

2.封User-Agent

User-Agent是请求头域之一,User-Agent对应的值是被客户端使用的信息。User-Agent的角色就是客户端的身份标识。很多爬虫请求头就是默认的一些很明显的爬虫头python-requests/2.18.4,诸如此类,当发现携带有这类headers的数据包,直接拒绝访问,返回403错误。除了User-Agent之外,可利用的头域还有Host和Referer。这种验证请求头信息中特定头域的方式既可以有效地屏蔽长期无人维护的爬虫程序,也可以将一些爬虫初学者发出的网络请求拒之门外。

3.封Cookie

Cookie反爬虫指的是服务器通过校验请求头中的Cookie值来区分正常用户和爬虫程序的手段,服务器对每一个访问网页的人都会给其一个Cookie,有的爬虫单纯为了爬取链接,并不会对Cookie进行处理和响应。当某个Cookie访问超过某一个阀值时,就对其进行封禁,过一段时间再放出来。也可以把Cookie和JavaScript结合起来实现反爬虫从而提高爬虫难度,这种手段被广泛应用在Web应用中。

4.JavaScript渲染

由 JavaScript 改变 HTML DOM 导致页面内容发生变化的现象称为动态渲染。由于编程语言没有像浏览器一样内置JavaScript解释器和渲染引擎,所以动态渲染是天然的反爬虫手段。

网页开发者将重要信息放在网页中但不写入html标签中,而浏览器会自动渲染

5.验证码验证

当某一用户访问次数过多后,就自动让请求跳转到一个验证码页面,只有在输入正确的验证码之后才能继续访问网站。

6.ajax异步传输

访问网页的时候服务器将网页框架返回给客户端,在与客户端交互的过程中通过异步ajax技术传输数据包到客户端,呈现在网页上,爬虫直接抓取的话信息为空。

7.图片伪装

图片伪装指的是将带有文字的图片与正常文字混合在一起,以达到“鱼目混珠”的效果。这种混淆方式并不会影响用户阅读,但是可以让爬虫程序无法获得“所见”的文字内容。

8.CSS偏移

利用 CSS 样式将乱序的文字排版为人类正常阅读顺序的行为。如果不细心观察,爬虫工程师很容易被爬取结果糊弄。这种混淆方法和图片伪装一样,并不会影响用户阅读。


除此之外还有:

Referer字段反爬、延时操作、网页iframe框架嵌套、csrf防护、限制每日下载量、DDOS防护、字体反爬虫等方式

感兴趣的小伙伴们可以自行查阅相关资料了解。

虽然爬虫措施有很多,但爬虫高手依旧可以绕过反爬虫机制,所以每一种方法都不是绝对安全的。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页