常见的防爬虫策略一般有 User-Agent检测、IP限制、验证码、动态页面生成、频率限制、动态URL参数等,一些网站会采用更高级的反爬虫技术来识别和阻止爬虫的访问。但是这些技术各有各的缺点,在实际操作中并不能获得很好的效果。
一劳永逸的方法
对于防爬并没有一劳永逸的方法,只要内容是可以被访问的,那么就有可能被爬取;是否能勾防住,最终就是一场攻防的战斗,看哪一方技术更胜一筹。今天潘某人SEO突然灵光乍现,突然想到一个防爬虫的方案,在这里分享给大家,当然也不是专业做这个的,有不妥之处欢迎大家指正,铺垫比较长一定看到最后,希望可以帮助到你。
防爬的关键在哪里
大家觉得防爬的关键是什么呢?潘某人SEO认为放爬虫的关键在于如何快速的区分正常用户和爬虫,精准快速的识别封禁恶意访问,同时不让爬虫知道防爬的实现方法。常见的很多方案,比如限制访问频次、ip限制等方法,如果爬虫使用代理分散到海量ip分散式爬取就变得无可奈何了。
防爬方案
其实防爬最好的方法就是在网站中只展示部分内容,对于正常的获取信息的方法肯定是通过站内搜索实现,应该很少有人顺着页面浏览吧。只要将url做到无序并且不降所有内容列举出来就是最简单的方法,具体可以参照潘某人SEO之前的文章《网站URL设计你做对了吗?》。
但是对于网站内容板块丰富内容入口较多的网站,爬虫依然可以通过有限的入口,顺着页面的内链,不断的爬取依然可以恶意爬取到大量有价值的内容。
下面开始今天的正题,分享一份非常规的防爬虫的策略,今天分享放爬虫方案更多的在方法上而不是技术上。
区分爬虫和访客
既然网络安全上可以使用蜜罐技术,那为什么我们不能设置一点陷阱给这些恶意爬虫呢!
切入点就是爬虫和用户的区别,人类访问一个页面是要眼睛看见了控制手点击进入页面,所以可以尝试设置一些人眼看不到但是爬虫可以获取到的链接。
元素尺寸:我们可以把一个元素的尺寸设置为0,那么用户看不到此元素,更加不可能可以点击访问到此元素上的超链接,并且为了防止被识别出来,这个链接可以正常加载内容,并且url地址也和正常内容的的链接相似,并且链接地址不能是恒定,降低被识别的可能性,并且所处元素的类型和位置可以变化。
浏览器视界:如果有些爬虫不抓取零尺寸的元素链接,那么上面的方法就失灵了。这个时候不妨试试,元素尺寸正常,但是定位到浏览器视界外。
元素遮挡:或者说我们可以用其他的元素遮挡住带有陷阱链接的元素。当然方法有很多,就看你的脑洞有多大了。
这里面的重点是,链接地址要正常并且具有不可预测性,同时链接所处的位置不能恒定,并且链接访问时可以正常访问内容。潘某人SEO认为列表页面是爬虫抓取的重灾区,那么在列表里的数据里下套效果会更好,并且不能恒定在某一条数据,并且对列表处理的样式和脚本记得混淆加密下,同时对所有的元素加上一些随机的样式名,发挥你的想象,搞得越乱越好。
不仅仅要有位置的随机性,还可以设置多个陷阱,多种方式的陷阱。
如何生成链接
链接最关键的一点要和正常的内容链接相似,不要有明显的区别,同时链接的变化有不可预测性。实现方式有很多很多,但是记得考虑实践性能等因素。
分享一个简单的做法,可以生成几十上百条链接具体数量结合实际,然后每个页面访问的时候,随机选取几条返回到前端使用。
然后链接可以过一段时间重新生成,或者链接被访问一定次数就作废并重新生成一条链接。
封禁方式
对于爬虫的的封禁方式,别看前段多么多花活,后段就简单多了,只要判定下哪些链接是事先设定的诱饵链接,然后对ip进行封禁,但是要注意诱饵链接也给返回点正常的页面,否则很明显当问到这个页面就被封,那么爬虫就可以轻而易举避开,导致这个诱饵链接立志失效,并且被分析出前端陷阱所在的位置。
Ip封禁的时候,如果是集中在一个网段的,直接封网段,同时如果是国内ip的那么不嫌麻烦可以请他喝茶,但是这种比较傻的人也没啥威胁性。
如果需要更好的效果,那么还可以结合上其它的反爬技术,技术越多越杂,逮到的几率就越高。大家如果有更好的方案可以在评论区探讨下。
SEO慎用反爬
如果站点内容要做SEO优化,那么反爬技术要慎用,以免误伤搜索引擎蜘蛛。不过艺高人胆大的可以将搜索引擎蜘蛛ip段添加到白名单,不过么哪天ip段更新了,那就有点尴尬了。
或者说也可以对有爬虫倾向的ip反查解析信息来判断是否是蜘蛛,不过有些搜索引擎的ip段并不支持反查,并且这个对于应用的稳定性和性能会有较大的不确定性。
终极武器
如果最终还是成功防住,这个时候就要使用终极武器了,跳出技术之外了,不管你爬起来多溜都得灰溜溜败下阵来。
拿起法律的武器捍卫自己最后的尊严,不管是爬虫和抄袭都是侵犯著作权的行为。著作权的获得在你创作完成那一刻就自动获得。
很多站点爬取或者抄袭了别人的原创内容,会注明来源于互联网如有侵权就联系删除,这个其实就是一句废话,一点都不妨碍他侵权责任的认定。即使是为原创同样是侵权了,侵犯了著作权中的改编权。
所以大家要做的是做好规划,让著作权的认证更加的方便,起诉对方那么就有举证的责任。所以,如果内容的商业价值比较高的,一定先申请了著作权登记之后在进行内容的发布,因为在没有权威证据下,只能看谁最先发布就拥有著作权。如上图所示,可以前往中国版权保护中心进行作品著作权登记。
对于不想登记著作权的情况,我可以可以选择一些较大平台或者行业内知名平台进行发布,自己站点的发布时间作为证据的可信度是不足的,最简单的方法大家可以先在公众号及新媒体平台进行发布。
只要我们做到著作权的认定没有争议的前提下,那么主动权就在我们手里,对于抄袭或者爬取这些行为,可以待他们进行商用,获取的商业利益越大,你所能追偿的金额就越好,甚至你还可以等他发现壮大之后秋后算账。
当然算账前不要惊动对方,一定先做好对方侵权行为证据的公正,这样即使删了也没用,当然专业的事交给专业的律师来。快去分享给你有需要的小伙伴吧!