注册
登录
提问时间:2018/7/3 13:49:08    楼主:未知网友   阅读量:391

很多网络爬虫爬着爬着就爬不动了,换个方法继续爬一会又趴窝了,使出浑身解数大战三百回合,哪怕使用了代理IP,依然败下阵来,问题出在哪里呢?究根结底,是没有找出到底是谁泄了密,是谁告诉了目标网站自己是爬虫。

一般来说,网站会通过以下几个方面来识别对方是爬虫还是真实用户,让我们一起来看看吧,然后尽量规避。

一、单一IP非常规的访问频次

我们经常会遇到的一个问题,当我们在某个网站上发帖时,会提示“发帖过快,请等待**秒”,或者提示“刷新频率过快,请歇一会”,这都是网站为了缓解压力对“用户”作出了一些限制,而爬虫相对于用户来说更疯狂,访问的频次更快,如果单一IP非常高的访问频次,那么将会被判为“爬虫”,进而受到限制。

二、单一IP非常规的数据流量

当单一IP的数据流量非常大时,也会引起网站的注意。说到数据流量有些朋友就会有疑问了,下载站的数据流量大也是很正常的啊。这里说的数据流量不只是单一的下载数据流量,而是大量的并发请求。高并发请求很容易对服务器造成高负荷,所以受到限制也是很正常的。

三、大量重复简单的网站浏览行为

我们知道,不同的用户浏览速度、习惯等都不相同,有的人浏览一个页面需要五秒,有的需要思考一分钟等等,当存在大量的用户IP都是千篇一律的浏览速度,比如3秒访问一个页面,那么这就非常可疑了,受到封杀也是正常的,就算用了代理IP也避免不了。

四、headers头部校验

除了上面3个比较明显的爬虫行为,网站还会校验headers。headers头部的参数很多,其实也容易伪装,但有些初学者往往会忽略。比较常见的是User-Agent、Referer这两个参数,不同的浏览器有不同的User-Agent,访问来源也各不相同,如果不注意的话,很容易被识别。

五、链接陷阱

我们知道,爬虫爬取页面时,会识别页面中所有的URL地址去爬取,特别是一些没有明确目标的爬虫。有的网站会将一些链接放在CSS里或者JS里,这些链接正常用户是不会去访问的,它们就是陷进,它们的作用钓出爬虫,可谓阴险至极,一不小心就中招了。

以上五点是比较常见的识别爬虫的手段,要想不被目标网站这么快识别,就要有效的规避这五点,做好爬虫策略,当然反爬手段远远不止这些,这就需要好好研究了。