为什么要反爬虫?
一是爬虫会在短时间内发送大量请求,从而占用服务器带宽,影响到其他正常用户访问。
二是爬虫会轻易、快速地爬走网站上的大量信息资源,危害用户隐私安全和知识产权,这是我们不能容忍的。因此,防范“爬虫入侵”是非常必要的。
常见的反爬虫方法:
1、根据Headers判断是否为爬虫
当我们使用浏览器访问网站时,浏览器会自动在访问请求上生成Headers,内容主要包括浏览器版本、使用的编码方式、使用的操作系统等信息,但是爬虫一般不会附上这个信息,以便您可以被识别。
2、根据访问频率判断是否是爬虫
每台电脑上网时都对应一个唯一的IP。当这台电脑访问该网站时,IP 将被记录下来。如果IP访问频率过快,远超正常人的访问频率,就会被识别为爬虫。使用代理IP换一个不同的IP,对方网站每次都会认为是新用户,自然没有被封的风险。如果工作量大,爬取速度快,目标服务器会很容易找到,所以爬取前需要将IP换成代理IP。 IPIDEA包含全球IP资源,足以满足爬虫的需求。
3.利用动态页面反爬虫静态页面由 HTML 代码生成,页面内容相应固定。动态页面是由脚本语言生成的,有些内容需要运行一些脚本才能看到。在访问动态页面时,有些内容需要一些特定的操作才能显示出来,比如点击、输入验证码等,这就增加了爬虫的难度,简单的爬虫会被淘汰。