不误伤搜索引擎,怎样最大限度的把爬虫ban了?

自己辛辛苦苦做的站,但是没有任何防爬虫措施,一个新手都可以F12键几分钟就把爬虫写好了,自己想了一些防爬虫的方法:

  1. 把频繁访问的ip给ban了,但是这么做肯定会误伤搜索引擎,不可取,况且我写爬虫都是先爬代理池

  2. 用蜜罐法,robots.txt中写好禁止抓取的URL,然后把这个URL隐藏在文章列表页,凡是抓了这个URL的咱iptable见,但是这招貌似也烂大街了,一些人首先查看robots.txt看有没有蜜罐(比如我。。。),这个也不可取

  3. php和客户端js公用一个加密解密函数,公用一个token,js通过token生成的cookie每次都要用PHP验证,这样能排除一些简单的PHP or Python爬虫,但是phantomjs等浏览器还是能执行js,虽然客户端or服务器端都能检测出headless浏览器的特征码,但是这种无头浏览器杀不完,杀完了估计也把googlebot误伤了

  4. 把自己的所有内容列表,只显示一部分,如Flickr任何搜索都只显示4000个结果,我也只显示1000条列表,多余的不输出结果了,但这样是否会伤及SEO?

上面的方法都不完美,也许彻底ban爬虫就是一个伪命题,但有没有一种相对最好的方法,不伤及SEO和Googlebot,同事最大限度的ban掉爬虫?

阅读 2.9k
2 个回答

只能封ip,大公司ip段都是固定的。。。而且他们的抓取策略应该也有一定规律。

限制ip访问频率 然后抓公共代理ip 放进黑名单 其他手段不管怎么做都没有太大意义

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题