今天例行查看服务器上的访问日志,发现了一个叫 MauiBot 的爬虫开始大量抓取本站内容。上网了解了一下,这也是一个无用的垃圾爬虫,果断屏蔽掉。

好的搜索引擎爬虫能给网站带来流量,应鼓励其抓取内容;垃圾爬虫只会增加网站服务器负担、消耗流量,应该屏蔽之。本文整理常见搜索引擎爬虫和垃圾爬虫,并给出屏蔽垃圾爬虫的方法。

常见搜索爬虫

Googlebot

Googlebot 是 谷歌 的网络爬虫,其UA标识为 “(compatible; Googlebot /2.1; +http://www.google.com/bot.html)”。对大部分网站,Googlebot应该是爬取最勤快的爬虫,能给优质博客带来大量流量。

除了爬取网页的Googlebot,常见的还有图片爬虫Googlebot-Image、移动广告爬虫Mediapartners-Google等。

Baiduspider

Baiduspider 是 百度 的网页爬虫,中文站很常见。其UA标识为“(compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)”。

除了网页爬虫,手机百度爬虫Baiduboxapp、渲染抓取Baiduspider-render等。

bingbot

bingbot 是微软 bing搜索 的爬虫,其UA标识为“(compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)”。

自微软推广bing搜索品牌后,微软原来的爬虫MSNBot越来越少见到了。

360Spider

360Spider 是 360搜索 的爬虫,其UA标识为“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/5 37.36; 360Spider”。

目前360搜索份额较少,这个爬虫不是很常见。

Sogou web spider

Sogou web spider 是 搜狗搜索 的网页爬虫,其UA标识为“Sogou web spider/4.0(+http://www.sogou.com/docs/help/ webmasters.htm#07)”。背靠腾讯,搜狗目前市场份额在上升,因此其网络爬虫比较勤快,经常能看到。

访问日志搜索Sogou,除了Sogou web spider,还常见SogouMSE、SogouMobileBrowser。这是搜狗手机浏览器的UA标识,不是爬虫。

YisouSpider

YisouSpider 是 神马搜索 的爬虫,UA标识是“Mozilla/5.0 (Windows NT 6.1; Win64 ; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 YisouSpider/5.0 Safari/537.36”。

神马成立初期太疯狂抓取网页导致一些小网站崩溃而惹的天怒人怨。随着市场份额提升和数据完善,目前YisouSpider还算克制,不再疯狂抓取。

从名字上看,神马搜索的发音类似于宜搜,但和专注小说搜索的“宜搜(http://easou.com/)”不是同一家公司。神马搜索是UC合并到阿里后推出的移动搜索引擎,而宜搜在2G wap时代就已经名声在外。

YandexBot

YandexBot 是俄罗斯最大搜索引擎和互联网巨头 Yandex 的网页爬虫,其UA标识是“(compatible; YandexBot/3.0; +http://yandex.com/bots)”。

Yandex提供中文界面和中文搜索,也是少数目前能直接打开的国外搜索引擎。随着越来越多中国人知道Yandex,YandexBot在中文网站日志里越来越常见。

DuckDuckGo

DuckDuckGo 是 DuckDuckGo 的网页爬虫,其UA标识是“Mozilla/5.0 (Linux; Android 10) AppleWebK it/537.36 (KHTML, like Gecko) Version/4.0 Chrome/81.0.4044.138 Mobile Safari/537.36 DuckDuckGo/5”。

DuckDuckGo 主打隐私、安全、不监控用户记录,界面简洁,也提供中文搜索界面。

除了上述搜索引擎爬虫,WordPress等提供feed订阅的网站还常见newblur和feedly的访问记录。这两个不是爬虫,而是订阅软件,也能给网站带来流量。

垃圾爬虫

上面说的搜索引擎爬虫能给网站带来流量,也有许多爬虫除了增加服务器负担,对网站没任何好处,应该屏蔽掉。本节介绍常见的垃圾爬虫。

MJ12Bot

MJ12Bot 是英国著名SEO公司Majestic的网络爬虫,其抓取网页给需要做SEO的人用,不会给网站带来流量。

AhrefsBot

AhrefsBot 是知名SEO公司Ahrefs的网页爬虫。其同样抓取网页给SEO专业人士用,不会给网站带来流量。

SEMrushBot

SEMrushBot 也是SEO、营销公司的网络爬虫。

DotBot

DotBot 是 Moz.com 的网页爬虫,抓取数据用来支持 Moz tools 等工具。

MauiBot

MauiBot 是本文的主角,不同于其他爬虫,这个爬虫连网站都没有,UA只显示一个邮箱:”MauiBot (crawler.feedback+wc@gm ail.com)“。神奇的是这个看起来是个人爬虫,竟然遵循robots协议,算得上垃圾爬虫的一股清流。

屏蔽垃圾爬虫

屏蔽垃圾爬虫主要从两方面入手:1. robots.txt禁止;2. web层面通过UA禁止。下面分别做介绍。

robots.txt禁止

上文列出的垃圾爬虫都遵循robots协议,因此可以通过robots.txt禁止。操作是在网站根目录新增robots.txt文件,新增如下内容:

User-agent:*
Disallow:/download.php

User-Agent: AhrefsBot
Disallow: /
User-Agent: MJ12bot
Disallow: /
User-Agent: DotBot
Disallow: /
User-Agent: SemrushBot
Disallow: /
User-Agent: MauiBot
Disallow: /

本站屏蔽垃圾爬虫也是采取了上述配置,具体可参考:https://tlanyan.me/robots.txt

通过web软件屏蔽

对于不遵循robots协议的爬虫,可以在web软件层面通过UA屏蔽。下面以 Nginx 为例介绍,操作为:在网站配置的server段内,新增类似如下指令:

server {
   ... 一些网站配置
   # 屏蔽curl/httpclient抓取
   if ($http_user_agent ~* curl|httpclient) {
     return 403;
   }
   # 屏蔽MauiBot等爬虫
   if ($http_user_agent ~* MauiBot|AhrefsBot|DotBot) {
     return 403;
   }
   ... 其他配置

参考

1. The List of Common Good and Bad Crawling Bots You Should Control to Save Your Server Resources And Improve Performance

2. 常见搜索引擎蜘蛛user-agent标识