标点符(钱魏 Way)

防采集系统的设计

网络上越来越多的站长在使用采集系统进行网站采集。如何应对这样的采集成为一个很棘手的问题。先前写过一篇怎样防止网站被采集的的文章,但是中间提到的方法感觉不是非常的适用。

正常的搜索引擎抓取页面可以使用robots.txt来进行屏蔽,比如万恶的雅虎,流量和不带过来,确是爬的最勤快的,大量的占用服务器资源。

对于一个原创内容丰富,URL结构合理易于爬取的网站来说,简直就是各种爬虫的盘中大餐,很多网站的访问流量构成当中,爬虫带来的流量要远远超过真实用户访问流量,甚至爬虫流量要高出真实流量一个数量级。

防采集主要防止的是那些除搜索引擎外的抓取行为,即除搜索引擎外的非人为访问。主要原因有:

  1. 影响服务器的性能,消耗服务器流量。
  2. 影响网站数据的统计,比如流量统计。
  3. 自己辛苦整理的资料不希望被其他人盗用。

防止采集最大的难点是如何才能精确打击,即不影响搜索引擎采集的情况下,把那些“小偷”屏蔽掉。通常采用以下两种方式进行组合过滤

  • 过滤规则,主要是通过用户IP地址,User-Agent进行屏蔽。
  • 频度控制,主要是限制时间和次数,如一定时间内的请求量不能超过一定的阀值。

接下来就是整体系统的设计了:

  • 总体设计:旁路统计、规则封禁
  • 访问控制服务器:维护规则库、按规则进行统计、为系统生成封禁列表
  • 系统服务端:转发请求、同步封禁列表、实施访问控制。
码字很辛苦,转载请注明来自标点符《防采集系统的设计》

评论

  1. #1

    如果一旦ip被锁定,一般要多长时间

    回复
    2017-04-3
    • 标点符

      建议以指数的形式产生封锁的时间,产生值为 2^已封锁次数*第一次封锁时间

      回复
      2017-04-13