当前位置:首页 > 技术教程 > 建站经验 > 正文内容

网站如何禁止DotBot、AhrefsBot、SemrushBot、PetalBot等垃圾爬虫的抓取

爱一流网3年前 (2021-09-21)建站经验292

最近在维护客户网站是发现网站大量流量,看一下网站响应日志,有不明的访问来源,看下记录是

useragent为"Mozilla/5.0 (compatible; AhrefsBot/5.2; +http://ahrefs.com/robot/)",AhrefsBot是国外的搜索引擎蜘蛛。不过对你的网站来说除了浪费资源外,没有任何好处。网站爬虫疯狂爬数据,给服务器带来不小压力,建议必要时可以禁止一些没有用的爬虫访问。

如何屏蔽一些不需要的网站爬虫或者垃圾爬虫?

方法1:通常来说,只要是遵循robots规则的蜘蛛或者爬虫,都可以使用robots.txt来禁止它爬取,可以在网站目录的robots.txt文件,通过robots.txt协议禁止;

华为花瓣搜索引擎蜘蛛:PetalBot

蜘蛛爬虫UA:"Mozilla/5.0 (compatible; PetalBot;+https://webmaster.petalsearch.com/site/petalbot)"

屏蔽规则:

 User-agent: PetalBot
 Disallow: /

AhrefsBot爬虫

蜘蛛爬虫UA:"Mozilla/5.0 (compatible; AhrefsBot/5.2; +http://ahrefs.com/robot/)"

屏蔽规则:

User-agent: AhrefsBot
Disallow: /

DotBot爬虫

Moz蜘蛛爬虫UA:"Mozilla/5.0 (compatible; DotBot/1.1; http://www.opensiteexplorer.org/dotbot, help@moz.com)"

屏蔽规则:

User-Agent: DotBot
Disallow: /

MJ12bot爬虫

蜘蛛爬虫UA:"Mozilla/5.0 (compatible; MJ12bot/v1.4.8; http://mj12bot.com/)"

屏蔽规则:

User-Agent: MJ12bot
Disallow: /

SemrushBot爬虫

蜘蛛爬虫UA:"Mozilla/5.0 (compatible; SemrushBot/3~bl; +http://www.semrush.com/bot.html)"

屏蔽规则:

#屏蔽SemrushBot
User-agent: SemrushBot
Disallow: /
User-agent: SemrushBot-SA
Disallow: /

如何降低爬虫的抓取速度?Crawl-Delay:5  延迟5秒.

方法2:直接屏蔽网站爬虫的IP段,是最简单粗暴,效果立竿见影的方法。

78模板网以AhrefsBot爬虫举个例子:

AhrefsBot的IP段

通过对一天的网站日志进行分析,你们猜猜一共有多少个不同的AhrefsBot蜘蛛ip来抓取网站数据?

 ahrefs.com/robot

54.36.150.145

54.36.150.133

54.36.150.111

54.36.150.87

54.36.150.75

54.36.150.49

54.36.150.36

54.36.150.22

54.36.150.27

54.36.150.92

54.36.149.106

54.36.148.228

54.36.148.212

54.36.148.176

54.36.148.179

54.36.148.163

54.36.148.155

54.36.148.128

54.36.148.105

54.36.148.59

54.36.148.56

54.36.148.60

54.36.148.30

54.36.148.15

54.36.149.76

官方公布的AhrefsBot爬虫IP段如下:

54.36.148.0/24

54.36.149.0/24

54.36.150.0/24

195.154.122.0/24

195.154.123.0/24

195.154.126.0/24

195.154.127.0/24

如何直接封AhrefsBot ip段

被AhrefsBot蜘蛛爬取的站服务器用的是阿里云,阿里云后台有安全组可以使用,所以直接屏蔽AhrefsBot的IP段,是最简单粗暴,效果立竿见影的方法。

进入阿里云后台,进入你的服务器列表,点击服务器的安全组,配置安全组规则。

模板.jpg

按照上图的方法配置,把下面这些ip段全部添加进去就行了。

方法3:apache通过.htaccess和Nginx通过.conf屏蔽网络爬虫访问;

Nginx屏蔽爬虫访问站点方法:

#禁止 Scrapy 等工具的抓取

if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {

     return 403;

}

#禁止指定 UA 及 UA 为空的访问

if ($http_user_agent ~ "yisouspider|FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$" ) {

     return 403;

}

#禁止非 GET|HEAD|POST 方式的抓取

if ($request_method !~ ^(GET|HEAD|POST)$) {

    return 403;

}

在apache禁止蛛蛛访问,在修改网站目录下的.htaccess,添加如下代码即可:

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} (^$|yisouspider|FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms) [NC]

RewriteRule ^(.*)$ - [F]
























扫描二维码推送至手机访问。

版权声明:本文由爱一流网发布,如需转载请注明出处。

免责声明:本站所有资源搜集整理于互联网或者网友提供,仅供学习与交流使用,如果不小心侵犯到你的权益,请及时联系我们删除该资源。

本文链接:https://www.aiyiliu.com/post/12.html

分享给朋友: