`
lihuifen2014
  • 浏览: 26065 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

判断是否为爬虫的请求

    博客分类:
  • http
阅读更多
User-Agent是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。用较为普通的一点来说,是一种向访问网站提供你所使用的浏览器类型、操作系统及版本、CPU 类型、浏览器渲染引擎、浏览器语言、浏览器插件等信息的标识。UA字符串在每次浏览器 HTTP 请求时发送到服务器!

判断浏览器请求类型的方法,见如下代码:

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来获得
分享到:
评论

相关推荐

    python爬虫请求—post

    5. 检查响应:`requests.post()`会返回一个`Response`对象,我们可以检查它的状态码(status code)和内容(content)来判断请求是否成功。 ```python if response.status_code == 200: print('登录成功') content...

    如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求

    通过综合考虑域名特征与IP段信息,我们可以更加准确地判断请求是否由搜索引擎爬虫发出,从而为网站管理提供有力支持。 ### 结论 虽然`User-Agent`是一种简单直观的判断方式,但其可伪造性限制了它的可靠性。相比之...

    主题爬虫_python爬虫_百度爬虫_百度_

    - 身份验证与反爬策略:百度可能通过检查User-Agent、Referer等header来判断是否为爬虫,因此需要设置合理的请求头。 此外,使用Python进行爬虫开发时,我们还需要注意遵守相关法律法规,尊重网站的robots.txt协议...

    Python反爬虫设计.pdf

    因此,网站可以检查请求中的Cookie是否具有正常的用户行为特征,从而判断是否为爬虫。 3. 访问频率识别:如果一个IP地址在极短的时间内对同一页面发起大量请求,这通常表明访问者是爬虫程序而非正常用户。利用访问...

    将自动爬虫的结果判断是否属于hooks并不断抓取url爬啊爬

    在给定的项目"AutoHookSpider-master"中,我们可以推测这是一个自动爬虫程序,其核心功能是判断抓取到的网页链接是否属于特定的"hooks"类型,并继续递归地抓取相关URL。以下是对这一主题的详细解释: 1. **Python...

    解析Python网络爬虫_复习大纲.docx

    本文档是关于Python网络爬虫的复习大纲,涵盖了爬虫的基本概念、实现原理、技术、网页请求原理、抓取网页数据、数据解析、并发下载、抓取动态内容、图像识别与文字处理、存储爬虫数据、爬虫框架Scrapy等知识点。...

    Python爬虫示例模板

    最后,使用 if __name__ == '__main__': 来判断该文件是否作为独立脚本运行,以启动爬虫。 请注意,爬取网页数据时需要遵守网站的相关规定和法律法规,尊重网站的爬取政策,并确保你的爬虫行为合法、合规、可持续和...

    Java网络爬虫(蜘蛛)源码

    Java网络爬虫,也被称为“蜘蛛”,是一种自动化程序,用于从...总之,这款Java网络爬虫源码是一个学习和实践网络爬虫技术的好资源,通过阅读和理解代码,可以深入了解网络爬虫的实现细节,并能为自己的项目提供参考。

    主题爬虫|定向爬虫

    关键词可以用于快速判断网页是否与目标主题相关,也可以用于构建索引和检索系统。 总的来说,"network_spider"这个压缩包很可能包含了一系列实现上述功能的Python脚本或模块,对于学习和实践主题爬虫和定向爬虫技术...

    常见反爬虫策略

    5. **人工智能防采集**:通过分析用户的行为模式,判断是否为爬虫。例如,如果访问轨迹与正常用户显著不同,可能会触发防采集机制,如显示验证码或返回虚假数据。 这些反爬虫技术不断发展和升级,同时,爬虫技术也...

    苏飞爬虫HttpHelper类

    8. **解析响应**: `GetResponseContent()` 和 `GetResponseStatusCode()` - 这两个方法用于获取HTTP响应的内容和状态码,开发者可以根据状态码判断请求是否成功。 在实际使用HttpHelper类时,开发者需要结合C#的...

    网络爬虫设计实现

    - 使用Hash函数将URL映射到特定地址,以判断是否重复。 - 缺点:若Hash函数设计不佳,可能会导致大量碰撞,增加额外处理成本。 - 改进措施:采用压缩后的URL作为Key,减少存储空间占用。 - **基于NoSQL数据库的...

    C++网络爬虫项目

    用的,通过“链接分析”可以判断页面的相对重要性,对于为用户提供准确的 搜索结果帮助很大。 由于网页数量太多,搜索引擎不仅需要保存网页的原始信息,还要保存一些中 间处理结果,使用单台或者少量的计算机明显是...

    c++网络爬虫

    本项目以C++语言实现了一个基础的网络爬虫,涵盖了爬虫开发中的关键知识点,包括URL判重、宽度优先搜索(BFS)以及域名有效性的判断。 首先,URL判重是爬虫的重要组成部分,它的目的是避免重复访问同一个网址。在...

    python爬虫-17-体验案例-判断是否存在.ev4.rar

    总的来说,本案例通过Python爬虫技术,结合`requests`和`BeautifulSoup`库,演示了如何查找和判断网页中是否存在特定类型的文件。在实际应用中,这些技能可以扩展到更复杂的爬虫项目,如数据挖掘和分析。

    爬虫 python 突破

    一些网站会根据这些信息判断访问者是否为爬虫。因此,通过设置合适的User-Agent,模拟正常浏览器的请求头,可以让爬虫程序“伪装”成一个正常的浏览器请求,从而减少被封禁的风险。 第二种方法是使用代理服务器。...

    python爬虫基础课件.pdf

    - urllib的robotparser模块用来解析robots.txt文件,可以用来判断爬虫是否可以访问目标网站的某些页面。 6. HTTP请求:爬虫通过HTTP协议与服务器进行交互。基本的HTTP请求包括GET和POST方法。GET通常用于请求...

    01-爬虫_爬虫学习_

    - 用户代理:模拟不同浏览器发送请求,有时网站会根据用户代理判断是否为爬虫,因此需要设置合理的用户代理字符串。 - Cookies:某些网站需要登录才能访问,这时需要处理Cookies来维持会话状态。 - 数据存储:抓取的...

Global site tag (gtag.js) - Google Analytics