使用代理IP不是万能,只是爬虫策略之一
在使用代理ip的过程中,我们发现大部分用户朋友都有这种想法:拥有优质代理IP,爬虫可以畅通无阻。如果爬虫做的不好是代理IP的锅,他们认为是优质的代理IP等同于一个好的爬虫策略,有了这样一个代理IP,你不必担心爬虫策略。其实这种想法是片面的,使用代理IP不是万能,只是爬虫策略之一,具体的爬虫策略要根据目标网站的反爬策略来制定,也可以称为反爬策略。
一般反爬虫措施如下:
1.代码级限制需要登录访问权限。一天只能访问一定数量的页面,在没有登录的情况下只能查看几个页面,比如列表信息类网站。已经有很多一天6个的列表详情页了,再多的页面就会有恶意。这种限制需要大量的帐户来进行爬虫爬行。当然,除了完全限制之外,还可以限制访问若干个以上的弹窗验证码,验证后再继续访问,这样至少不会有少数真实用户无法访问。
2.提前获取IP代理池的IP列表,直接在防火墙层面进行黑客攻击,可以避免一些高端的问题。
3.在Nginx或者代码级别把所有常见的爬虫头信息都拉黑。据说一些大网站把python中常见的爬虫头信息全部黑掉了,增加了基础爬虫的代码成本。
4.高端的反爬虫就是每隔几个小时就要切换页面代码或者接口数据结构。我记得那是个宝藏。对于爬虫来说,它可能只是写这种类型的代码,然后整个页面代码和数据结构使用一套新的非常高级的对策。
5.数据加扰:每个页面都有一些加密和解密规则,或者每个页面都有不同的加扰数据。很有可能你抓取的内容含有一些虚假数据或者加密数据,这也增加了爬虫的成本。比如可以在网页中添加一些具有相同样式或名称的关键隐藏字段,而这些隐藏字段甚至不会出现在页面上,导致爬虫很难找到关键元素。
从上面可以看出,爬虫策略不仅仅是使用高质量的代理IP,还要根据目标网站反爬策略的实际分析,制定具体的反爬策略,当然是高质量的代理IP一定是必不可少。