前些日子,屏蔽了一些 IP ,在做了一些研究后,发现这些都是来自华为。
一直以来,都认为华为只是做硬件,做软件,还没想到它们还要做搜索。可惜的是,他们一如既往的不按规矩来,过度的抓取,以及完全不考虑被抓取的网站的性能影响。
打开 http://aspiegel.com/en/about/ 网页,可以看到写着。
Aspiegel: The HUAWEI Mobile Services (international) are provided by Aspiegel Limited.
如果继续,打开 http://aspiegel.com/en/how-petal-search-works/ 网页,可以看到Petal Search 的相关介绍。
所以华为搜索引擎,就是 Aspiegel 搜索,现在改名成为了 Petal Search。就是一回事。
根据 Hyypernode.com 主机商的情况报导,华为的搜索引擎蜘蛛对他们的用户的影响,很多人抱怨,机器人淹没了他们的网站,在线服务因被 AspiegelBot 的流量淹没而无法使用。
如何屏蔽华为的蜘蛛、机器人
一般就是两种办法。
1) 用 Robots.txt 设置,禁用它。
User-agent: PetalBot
Disallow: /
2) 在 nginx 配置中禁用
这个就比较简单粗暴了,用来对付那些不遵守 robots.txt 规范的爬虫,蜘蛛是最合适不过了。
在配置文件中,加上一段禁用 IP 地址。
deny 114.119.160.251;
如何知道这个 IP 地址是来自于 华为 / AspiegelBot / PetalBot 呢?
davidyin@sunflower:~$ host 114.119.160.251
251.160.119.114.in-addr.arpa domain name pointer petalbot-114-119-160-251.aspiegel.com.
这就可以看到 petalbot 的字样,以及来自 aspiegel.com。
通常我的做法,就是上面的第二种,一般我的网站的 robots.txt 的写法就是对于所有的 bot 都生效的,也就是允许,某些特别的页面会禁止抓取。
对于那些滥用资源,过度抓取,消耗大量服务器资源的蜘蛛,在我看来,已经类似 Dos 或者 DDos 攻击了。根据我的了解,他们对于 robots.txt 规范也不会尊重的。所以就不浪费时间,直接在 nginx 服务器这里就禁用了。
没有评论:
发表评论