注册
登录
提问时间:2019/3/12 14:12:01    楼主:未知网友   阅读量:222

大数据爆发时代,爬虫扮演着重要角色。例如,新闻类APP通过爬虫,获得大量的优质资源,读者可以在一个平台上看到天下所有的内容,正所谓,不出门也能了解天下事。

但是,有一些恶意爬虫恶意的爬取,会导致网站服务器不能正常运行;还有一些自成体系的平台,不希望爬虫的骚扰,不想分享自己的资源,于是反爬虫策略就这样诞生了,通过反爬虫策略虽然会增加一些成本,但也势在必行。

我们来看看常见的三种反爬虫方式:

1、根据IP地址访问的频率确定是不是爬虫

每个电脑上网时都有唯一的IP地址,每个爬虫也有唯一的IP地址,当电脑或者爬虫访问网站的时候,网站会记录这个IP地址。如果同一个IP短时间多次访问同一个网站,这个网站可能会倾向于认为这是个爬虫,会采取一些措施。

最常见的就是验证码、点击图片之类的验证机制了。

2、根据用户请求的Headers来判断是不是爬虫

当我们使用浏览器访问网站的时候,浏览器会自动在访问请求上添加一些信息,比如:浏览器采用的编码方式、使用的操作系统、浏览器版本等信息放在访问请求的最开始,作为Headers,但爬虫一般不会附加这些信息。

网站会根据是否存在Headers信息以及Headers信息的内容,判断对方是不是爬虫,有必要的话,就拒绝访问。

3、动态页面的反爬虫

静态页面随着HTML代码生成,页面的内容和显示效果就不会发生变化了。而动态网页则不然,动态网站是脚本语言(比如PHP)生成的,一些内容不是直接可见的,而是要运行一些脚本,才能看到。

访问静态网页,只需要直接访问链接就可以了,访问动态网站,还需要执行一些特定的操作(比如点击),才能显示更多的内容,这就增加了爬取的难度,一些简单的爬虫就被拒之门外了。

这就是比较常见的反爬虫策略了,当然复杂的反爬虫技术远远不止这些。不过,有反爬虫就有反反爬虫,两者为了生存只能不断的进步,不断的升级。反反爬虫还有一个得力的好帮手,那就是代理IP

代理IP可以说是反反爬虫与反爬虫的斗争中获得胜利的得力助手,有了高效优质代理IP,战斗已经胜利了一大半。常见代理IP分为三种,一种是免费代理IP,一种是共享IP池,还有一种是独享IP池。

免费代理IP在一些爬虫入门学习中还能发挥一点点微小的作用,在正式的爬虫工作中几乎毫无作用,甚至还会导致爬虫工作失败,浪费大把时间,所以在正规战斗中要果断放弃免费代理IP。

共享IP池是用的比较多的一种,由于“共享”的特性,成本相对在可接受的范围内,工作效率也在可接受的范围内。爬取一些相对冷门的网站,反爬策略相对薄弱的网站,工作效率非常不错;爬取一些相对热门的网站,反爬策略相对严格的网站,工作效率就会大打折扣。

独享IP池用的相对较少一些,究其原因是其成本相对共享来说会更高一些,毕竟是独享,没有其他人来分摊成本。也正因为是独享,其效率相对于共享IP池来说,会高很多,爬取一些热门网站,反爬虫策略相对严格的网站,效率也不会受到影响,毕竟独享,没人来影响你。在这里,推荐站大爷平台上是的独享IP池,可以自己选择地区服务器,自己设置IP有效期,使用起来非常的灵活,用户体验非常好。

通过以上介绍可以看出,选择代理IP要根据实际情况出发,如果是爬虫入门学习,可以选择免费代理IP或者一些普通代理IP;如果是一些相对冷门的网站或者反爬策略相对不严格的网站,可以选择共享IP池;如果是一些热门网站或者反爬策略相对严格的网站,可以选择独享IP池。