之前写过一篇文章教你如何防范爬虫,文中列出了8中防范恶意爬虫的方法,并且列出了各自的优劣。一般来说,最简单实现防范恶意爬虫的方法也是最容易被破解的。但是复杂的方法虽然提升了数据安全级别,但是在开发上也要付出比较巨大投入。那么有没有一种比较简单的,但是又不那么容易被破解的恶意爬虫防范方案呢?今天我们就教大家一个相对简单但是能够防范80%恶意爬虫的方案。
在《8种方法教你如何防范爬虫》一文中,我们总共介绍了8种方案。由易到难,依依分析了优劣。如果要做到简单高效地实现一种方案是不太可能的。但是稍微转变一下观念,选择两种比较简单的方案混合使用,就能够短时间内防范数据恶意爬取。
首先我们可以使用第一种方法——使用JS动态生成Cookie。就是在自己的静态页面中加入一段JS代码,在显示正文之前(一般把这段代码放在head中)检查cookie中是否存在某一个键值对,如果不存在就创建一个。此方案的思想就是必须要存在一个cookie才能查看正文。这种方法能够防范最简单的也是数量最多的恶意爬虫。这种方法的弊端就是使用Selenium等无头浏览器执行JS脚本,可以方便的绕开。
因此,在以上的基础上,我们再加一段检测有效浏览器的JS代码,防止这类Selenium无头浏览器的访问。可以说,加上这层防护以后,小伙伴们的网站可以防止99%的恶意爬虫了。当然并不是说这种方案能够防止100%的恶意爬取,只是说这两种方案的组合,提高了开发恶意爬取工具的成本,从而劝退一批预算有限的潜在恶意数据爬取用户。
扫码联系船长