反爬行策略通常处理方式
做爬虫工作的伙伴都知道,不同的网站有不同的反爬虫策略,需要具体情况具体分析,制定相应的爬虫策略。虽然爬虫策略有上千万种,但一般网站基本都是向用户请求头部、用户访问行为、网站目录、数据加载模式打击爬虫的三个方面,下面是精灵ip代理带我们分析一下。
一、用户请求的标题
根据用户请求的标题,反爬虫是最常见的反爬虫策略。许多网站会检测标题和用户-代理,有些网站会检测Referer(一些资源网站的防盗链就是检测推荐人)等。
标头的反爬行策略通常很容易处理。比如对于用户代理IP的反抓取策略,我们可以收集很多用户代理,然后随机调用。还可以很好的处理Referer值的反抓取策略,可以将值改为目标网站的域名。
二、用户访问行为
大多数网站都制定了基于用户的反爬虫策略访问行为,毕竟他们会直接加载服务器。一般来说:可以从两个方面来判断一是同一个IP在短时间内多次访问同一个页面,二是同一个账号在短时间内多次执行同一个操作。
第一种情况不难处理,可以选择使用代理IP来解决。比如站内精灵IP代理的短期优质代理,一手私人代理,专属IP池,都可以很好的完成工作。
第二章的情况也可以处理好。在每个请求之后,下一个请求以几秒钟的随机间隔发送。为什么要随机?因为不规则休眠更符合真实用户的访问行为。
三、数据加载模式
我们知道,网站界面大多是静态页面(也就是说,你可以在浏览器中看到源代码)(或者推送技术等方法)获得,对于爬行动物来说比较麻烦。
解决方案:首先,用Firebug或Fiddler分析网络请求。找到ajax的请求url,用Python模拟请求得到需要的数据。但是有些网站把ajax请求的所有参数都加密了,我们只能用动态渲染页面信息来捕捉。
精灵IP代理以上是网站最常见的三种高级反爬策略,当然还有一些其他的反爬策略,比如验证码,这就需要爬虫工程师根据实际情况制定爬虫策略。