要实现判断是否为爬虫请求,先来了解user-agent的知识。
User-Agent是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。
它是一种向访问网站提供你所使用的浏览器类型、操作系统及版本、CPU 类型、浏览器渲染引擎、浏览器语言、浏览器插件等信息的标识。
UA字符串在每次浏览器 HTTP 请求时发送到服务器!
下面是判断浏览器请求类型的方法,分为java与js脚本二种实现方法。
1,java判断是否为爬虫请求?
复制代码 代码示例:
public static boolean isRobotRequest(HttpServletRequest request) {
String userAgent = request.getHeader("user-agent");
if (userAgent == null)
return false;
userAgent = userAgent.toLowerCase();
if (userAgent.contains("spider")) {
return true;
} else if (userAgent.contains("bot")) {
return true;
} else if (userAgent.contains("nutch")) {
return true;
} else if (userAgent.contains("yahoo")) {
return true;
} else if (userAgent.contains("gougou")) {
return true;
} else if (userAgent.contains("scooter")) {
return true;
} else if (userAgent.contains("lilina")) {
return true;
}
return false;
}
2,js代码判断是否为爬虫请求?
使用navigator.userAgent来获得