如何对付网络爬虫(干掉各搜索引擎的爬虫)

对于个人小站,经不起各大seo引擎搜索的蜘蛛一次又一次访问爬取,耗费站点流量先不谈,主要是这些爬虫像一堆苍蝇,把俺的站点当成了公共厕所,这就恶心了。点名头条家的爬虫,太尼玛不要脸了,俺站点的流量它家占了一大半。

国内国外爬虫一览

首先,来晒一下这些流氓们:

国内爬虫名称国外爬虫名称
头条爬虫Bytespider谷歌蜘蛛Googlebot
百度蜘蛛BaiduSpiderYandexYandexBot
360蜘蛛360SpiderAlexaia_archiver
搜狗蜘蛛Sogou News SpiderTwitterTwitterbot
SOSO蜘蛛SosospiderAhrefsAhrefsBot
一搜蜘蛛YisouSpiderFacebookFacebot
宜搜蜘蛛EasouSpiderezoomsezooms.bot
即刻蜘蛛JikeSpider雅虎英文Yahoo! Slurp
有道蜘蛛YodaoBotYandexMobileYandexMobileBot
雅虎中文Yahoo! Slurp ChinaMajesticMJ12bot
必应蜘蛛bingbotMozDotBot
MSN蜘蛛msnbotSEMrushSemrushBot
MSN蜘蛛2msnbot-mediaDuckDuckGoDuckDuckGo-Favicons-Bot

这些大部分是俺从日志文件里扒出来的,可能有误伤,遗漏,大家将就着看,下面来说说怎么干掉这些流氓。

阻止爬虫爬取

有三种方法可以阻止这些爬虫爬取,效果不一。

1:server段添加add_header头,阻止爬虫爬取,效果不是很理想,如下:

add_header X-Robots-Tag "noindex, nofollow";

2:使用robots.txt文件可以阻止爬虫爬取,但是有些流氓不遵守robots规则,这种方法几乎无效,还是把方法写下来。

打开nginx.conf文件,server段添加如下内容:

location /robots.txt {
    default_type text/plain;
    return 200 "User-agent: *\nDisallow: /";
}

保存,重启nginx后,浏览器在主域名后添加 /robots.txt 显示如下,即为成功。参考:https://1kb.day/robots.txt

User-agent: *
Disallow: /

3:由于上面的方法不是很凑效,于是俺们还是简单粗暴地使用 http_user_agent 来屏蔽。方法如下,

打开nginx.conf文件,server段添加如下内容:

if 
($http_user_agent ~* "Bytespider|SEMrushBot|DuckDuckGo-Favicons-Bot|dark_NeXus_Qbot|360Spider|YisouSpider|YodaoBot|Sosospider|Sogou web spider|msnbot-media|msnbot|ia_archiver|EasouSpider|JikeSpider|ezooms.bot|Twitterbot|Facebot|AhrefsBot|SemrushBot|Baiduspider|YandexBot|YandexMobileBot|DotBot|MJ12bot|bingbot|Java|perl|Python|Wget|Xenu|^$")
{
return 444;
}

直接返回444,强制关闭服务器与客户端的连接而不返回任何响应信息给客户端。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2303805254@qq.com,本站将立刻删除。

(0)
上一篇 2022-04-16 10:12
下一篇 2022-04-17 21:47

相关推荐

发表回复

登录后才能评论