爬虫是搜索引擎索引网站内容的手段。但是有些爬虫的爬取频率过快,或者业务方向不一致从而造成流量和网站资源的白白消耗。
我的博客遭遇了Sogou web spider和YisouSpider的恶意爬取。造成访问缓慢。
我首先在robots.txt中写了禁止他们的语句。然而YisouSpider 并不遵循robots.txt 完全不看这个文件。不遵守协议。
robots.txt内容如下:
User-agent:YisouSpider
Disallow:/
User-agent:Sogou web spider
Disallow:/
鉴于这两个爬虫这么流氓。我决定使用apache的.htacess文件来限制这两个爬虫。
在网站的根目录有个隐藏文件.htaccess 修改此文件 在</IfModule>上方行插入
SetEnvIfNoCase User-Agent “^Yisou|Sogou web spider” bad_bot
Deny from env=bad_bot
这时我们通过命令可以测试效果。
curl -I -A ‘YisouSpider’ stalvan.com
curl -I -A ‘Sogou web spider’ stalvan.com
这两个都返回了状态码403.而使用其他的UA进行访问时正常。
至此 我们成功的屏蔽了这两个流氓爬虫。