如何通过nginx屏蔽垃圾爬虫?
方法/步骤
1
经常会有一些不遵守robots规则的垃圾爬虫爬取网站信息,浪费了网站的带宽以及资源,可通过nginx对其进行屏蔽,示例如下:~*代表不区分大小写匹配,所以大小写都无所谓的屏蔽AhrefsBot垃圾爬虫if ($http_user_agent ~* AhrefsBot) { return 403;}如果需要屏蔽多个爬虫,可配置如下:if ($http_user_agent ~* AhrefsBot|MSNBot) { return 403;}或者if ($http_user_agent ~* "AhrefsBot|MSNBot") { return 403;}加或者不加引号的效果都是一样的,但是如果爬虫名称中有空格则必须加双引号
2
在linux下可通过命令测试:curl -iA "AhrefsBot" www.fsech.com此网站已屏蔽AhrefsBot爬虫,可做测试,返回结果为403
3
如果没有linux怎么办?可通过遨游浏览器的设置,自己修改user_agent来测试是否可访问。
上一篇:如何用python写爬虫