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