你在这里


爬虫

修改Drupal的xmlsitemap模块来控制搜索引擎爬取网站地图速度

James Qi 2016年2月2日 - 16:40 发布

  以前托管服务器或者租用的服务器一般都是100M共享的带宽,很少出现机器带宽被占满的情况,去年开始采用阿里云平台后,带宽就是一个不得不考虑的成本因素,我们一般都是每台ECS购买的10M左右带宽,每年费用已经不少了,而投入使用后很轻易就会被占满,关键是网站的流量并没有特别提升,广告收入没有增加,成本却在大幅提高,还导致正常用户访问变慢、困难。

  同事在Linux服务器上安装了一个iftop来查看带宽占用情况,很容易就发现了是搜索引擎的爬虫抓取sitemap.xml这样的网址占用了很大带宽,我们网站系列多、页面多、还有多语言或者手机版,网站地图就特别的多,如果爬虫来得过于频繁就给我们不小困扰。

  但爬虫这种抓取活动还不宜直接屏蔽以免影响收录,所以考虑限制抓取速度的办法,安装了apache的mod_bw模块,还没有调试好,不过在网上搜索到文章说可以用PHP编程来实现控制下载速度,这个对我启发还比较大,因为我们正好修改过Drupal的xmlsitemap模块xmlsitemap.pages.inc文件来改变网站地图中的内容和格式,只要再把输出方式改一点、增加一点sleep循环就可以,代码如下:

屏蔽采集者专门进行站内搜索的爬虫

James Qi 2015年11月4日 - 11:54 发布

  网站内容抓取采集真是中国互联网的一大特色,我们做了这么多年网站,一直都遇到各种各样对我们内容进行采集、复制的家伙。前一阵子发现一个网站 www.postcodequery.com 具体和我们的 www.postcodebase.com 几乎内容一样,也真是煞费苦心。no

  另外近期在搬迁一些Wiki网站到云服务器上的时候,发现RDS会急剧升高、卡死,从MySQL进程来看是一些内部搜索语句造成的,显然正常的访问者搜索不会这么多、这么快,只能是机器人采集才会这样,当时来不及查就临时把内部搜索功能关闭了。

  但关闭功能毕竟不是长久之计,今天早上再次排查、处理,过程如下:

订阅 RSS - 爬虫