java爬虫gecco的稳定性测试
最近对开源的java爬虫Gecco做了一个稳定性测试,测试环境:一台爬虫+web应用服务器,一台mongodb服务器。服务器配置很low,两台都是阿里云最低端的主机,1核+512内存。
单线程测试场景
爬虫采用单线程,测试时间3×24小时,测试期间系统无异常,jvm内存稳定。测试结果:
-
基本信息
Interval: 5000, StartTime: "2016-03-22 14:47:40", ThreadCount: 1, StarUrlCount: 8
单线程,共有8个初始抓取链接,每个请求抓取完成后休息5秒。
-
爬虫监控数据
taocan.ctrip.com Statistics: "{"exception":134,"serverError":0,"success":11270}" vacations.ctrip.com Statistics: "{"exception":61,"serverError":0,"success":17548}" huodong.ctrip.com Statistics: "{"exception":42,"serverError":0,"success":11814}" www.tuniu.com Statistics: "{"exception":4,"serverError":0,"success":228}" temai.tuniu.com Statistics: "{"exception":78,"serverError":0,"success":3507}" www.lvmama.com Statistics: "{"exception":0,"serverError":415,"success":41}" http://www.lvmama.com/tuangou/sale-623250 DOWNLOAD ERROR :500 http://www.lvmama.com/tuangou/sale-612687 DOWNLOAD ERROR :400
- 结果
从监控数据可以看到:
ctrip.com相关的数据抓取成功率较高,为99.99%,出现的失败都是exception,也就是类似超时之类的错误。
tuniu.com相关的数据抓取成功率也较高,为99.97%,出现的失败也是exception。
lvmama.com的成功率就十分低了,而且返回都是serverError也就是服务器500或者400错误,查看发日志发现可能对方服务器对ip做了访问限制,在成功抓取10多条后就一直报400或者500错误。
多线程测试场景
爬虫采用3线程,测试时间2×24小时,测试期间系统无异常,jvm内存稳定。测试结果:
-
基本信息
Interval: 5000, StartTime: "2016-03-26 11:16:57", ThreadCount: 3, StarUrlCount: 8
3线程,共有8个初始抓取链接,每个请求抓取完成后休息5秒。
-
爬虫监控数据
taocan.ctrip.com Statistics: "{"exception":58,"serverError":0,"success":19306}" vacations.ctrip.com Statistics: "{"exception":51,"serverError":0,"success":31402}" huodong.ctrip.com Statistics: "{"exception":62,"serverError":0,"success":17807}" www.tuniu.com Statistics: "{"exception":2,"serverError":0,"success":466}" temai.tuniu.com Statistics: "{"exception":118,"serverError":0,"success":5603}" www.lvmama.com Statistics: "{"exception":1,"serverError":410,"success":39}" http://www.lvmama.com/tuangou/deal-580212 DOWNLOAD ERROR :400
-
结果
从监控数据可以看到和单线程结果基本一致
总结
从测试中可以发现,开源java爬虫Gecco对系统要求很低,体现其轻量化的特点。无论在单线程还是多线程环境下,系统均能稳定运行。对部分网站访问限制的问题,需要通过代理服务器来完成,Gecco是支持代理服务器随机选取的。
相关推荐
}demo地址:教您使用java爬虫gecco抓取JD全部商品信息(一)教您使用java爬虫gecco抓取JD全部商品信息(二)教您使用java爬虫gecco抓取JD全部商品信息(三)集成Htmlunit下载页面爬虫的监控一个完整的例子,分页处理...
Gecco是一款用java语言开发的轻量化的易用的网络爬虫。Gecco整合了jsoup、httpclient、fastjson、spring、htmlunit、redission等优秀框架,让您只需要配置一些jquery风格的选择器就能很快的写出一个爬虫。Gecco框架...
本项目是基于Java开发的网络爬虫Gecco设计源码,主要使用Java进行开发。项目共包含164个文件,其中Java源代码文件153个,Git忽略配置文件2个,Markdown文档文件2个,YAML配置文件1个,项目许可证文件1个,JPG图片...
### Java爬虫教程及工具应用 #### 一、Java爬虫概述 在互联网时代,数据成为了一种重要的资源。爬虫技术就是一种自动化获取网络数据的有效手段。Java作为一种广泛使用的编程语言,在爬虫开发领域也占据着重要的...
Java爬虫Gecco工具是Java领域中用于网页抓取的一个简单易用的框架,它借鉴了jQuery的选择器语法,使得开发者能方便地定位到需要抓取的网页元素。本文将详细解析如何使用Gecco工具抓取新闻实例,包括配置依赖、编写...
Java爬虫技术是一种在互联网上自动获取网页信息的程序,它是大数据分析、搜索引擎优化和内容监控等领域的基础工具。在这个“Java爬虫详细完整源码实例”中,我们可以深入理解如何利用Java语言来构建一个功能完备的...
Java爬虫是一个强大的工具,用于自动化地从互联网上获取数据,尤其在大数据分析、网站监控和内容抓取等领域中有着广泛的应用。在这个Java爬虫实例中,我们将深入探讨其核心概念和技术,帮助你理解如何使用Java来编写...
2. 灵活性:使用JAVA爬虫可以灵活地调整爬虫的配置来适应不同的网络环境。 3. 安全性:使用JAVA爬虫可以避免被封禁,保护用户的隐私。 JAVA爬虫的缺点是: 1. 复杂性:使用JAVA爬虫需要具备一定的编程基础和爬虫...
Java爬虫学习文档集主要涵盖了使用Java语言进行网络爬虫开发的相关知识,其中包括对HTTP解析库...同时,学习如何处理异常情况和错误,是提高爬虫稳定性和可靠性的重要环节。祝你在Java爬虫的学习道路上取得丰硕的成果!
java爬虫需要的jar包。httpclient,jsoup等等。直接导入项目使用 java爬虫需要的jar包。httpclient,jsoup等等。直接导入项目使用 java爬虫需要的jar包。httpclient,jsoup等等。直接导入项目使用java爬虫需要的jar包...
Java爬虫是一种使用Java编程语言实现的网络爬虫技术,主要用于自动抓取互联网上的信息,如文本、图片、文档等。在这个DEMO中,我们将会探讨如何使用Java来实现一个基础的网页爬虫,以及涉及的相关知识点。 首先,让...
5. **异常处理与重试机制**:网络爬虫可能会遇到各种异常,如网络中断、服务器错误等,因此需要设置合理的异常处理和重试机制,保证爬虫的稳定性。 6. **速率控制**:为了避免对目标网站造成过大压力,需要设置爬虫...
【标题】:“百度贴吧java爬虫”涉及到的主要技术与知识点 在标题中提到的“百度贴吧java爬虫”是一项利用...实际开发中,开发者还需要根据项目需求进行适当的调整和优化,以实现更高效、稳定且符合目标的爬虫程序。
Java爬虫是一种使用Java编程语言实现的网络爬虫技术,主要用于自动抓取互联网上的信息。在Java中,我们可以利用各种库来构建一个简单的爬虫,例如Jsoup、Apache HttpClient、WebMagic等。以下是对Java爬虫实现的一些...
Java爬虫技术是一种利用编程语言(在这个例子中是Java)自动抓取互联网上信息的工具。这个"Java爬虫代码示例.rar"压缩包显然包含了用于教学目的的Java爬虫程序,适合初学者学习和理解爬虫的基本原理与实现方法。下面...
"amazon_爬"标签明确了该程序的目标平台是亚马逊网站,而"java爬虫"标签则表明程序使用的编程语言是Java,这在Java的网络爬虫开发中很常见,因为Java具有跨平台性、性能强和丰富的库支持等特点,适合处理复杂的网络...
基于Java爬虫的驾考小程序源码+项目说明+数据库(答案爬取).zip基于Java爬虫的驾考小程序源码+项目说明+数据库(答案爬取).zip基于Java爬虫的驾考小程序源码+项目说明+数据库(答案爬取).zip基于Java爬虫的驾考小...
【Java爬虫技术详解】 Java爬虫是一种使用Java编程语言实现的网络爬虫,它能够自动地遍历互联网上的网页,抓取所需信息。在Java中实现爬虫,主要涉及网络编程、HTML解析和数据存储等多个领域。下面将详细介绍这些...