对于个人小站,经不起各大seo引擎搜索的蜘蛛一次又一次访问爬取,耗费站点流量先不谈,主要是这些爬虫像一堆苍蝇,把俺的站点当成了公共厕所,这就恶心了。点名头条家的爬虫,太尼玛不要脸了,俺站点的流量它家占了一大半。
国内国外爬虫一览
首先,来晒一下这些流氓们:
国内爬虫 | 名称 | 国外爬虫 | 名称 |
---|---|---|---|
头条爬虫 | Bytespider | 谷歌蜘蛛 | Googlebot |
百度蜘蛛 | BaiduSpider | Yandex | YandexBot |
360蜘蛛 | 360Spider | Alexa | ia_archiver |
搜狗蜘蛛 | Sogou News Spider | Twitterbot | |
SOSO蜘蛛 | Sosospider | Ahrefs | AhrefsBot |
一搜蜘蛛 | YisouSpider | Facebot | |
宜搜蜘蛛 | EasouSpider | ezooms | ezooms.bot |
即刻蜘蛛 | JikeSpider | 雅虎英文 | Yahoo! Slurp |
有道蜘蛛 | YodaoBot | YandexMobile | YandexMobileBot |
雅虎中文 | Yahoo! Slurp China | Majestic | MJ12bot |
必应蜘蛛 | bingbot | Moz | DotBot |
MSN蜘蛛 | msnbot | SEMrush | SemrushBot |
MSN蜘蛛2 | msnbot-media | DuckDuckGo | DuckDuckGo-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,本站将立刻删除。