GECCO 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
GECCO 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
GECCO 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
GECCO 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
GECCO 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 MIT
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 应用工具网络爬虫
开源组织
地区 国产
投 递 者 xtuhcy
适用人群 未知
收录时间 2016-02-19

软件简介

Gecco是什么

Gecco是一款用java语言开发的轻量化的易用的网络爬虫。Gecco整合了jsoup、httpclient、fastjson、spring、htmlunit、redission等优秀框架,让您只需要配置一些jquery风格的选择器就能很快的写出一个爬虫。Gecco框架有优秀的可扩展性,框架基于开闭原则进行设计,对修改关闭、对扩展开放。同时Gecco基于十分开放的MIT开源协议,无论你是使用者还是希望共同完善Gecco的开发者,欢迎pull request。如果你喜欢这款爬虫框架请star 或者 fork!

参考手册

主要特征

  •  简单易用,使用jquery风格的选择器抽取元素

  •  支持页面中的异步ajax请求

  •  支持页面中的javascript变量抽取

  •  利用Redis实现分布式抓取,参考gecco-redis

  •  支持结合Spring开发业务逻辑,参考gecco-spring

  •  支持htmlunit扩展,参考gecco-htmlunit

  •  支持插件扩展机制

  •  支持下载时UserAgent随机选取

  •  支持下载代理服务器随机选取

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (22)

加载中
xtuhcy软件作者

引用来自“进击de山寨王”的评论

Xpath什么时候支持啊?cssPath加下标方式不太爽
一直是想弄xpath,最近太懒
2019/05/24 14:37
回复
举报
xtuhcy软件作者
打分: 力荐
java语言中难得的简单易用爬虫框架
2017/10/19 11:58
回复
举报
有好多东西是可以改进的,比如 (1) 响应200的,添加断言是否success (2) href 使用了click 属性目前只能在线程内处理,可以放到全局的schedule或者可配置,在实际使用中一般配置一个第一页的url和一个下一页的href进行click (3) 下载和断言异常的处理 (4) URL末尾是否有斜杠的匹配问题 (5) 注解不太全 ,比如RequestUrl ResponseBody (6) Dynamic 的list属性实际生成的是数组
2017/09/07 16:12
回复
举报
打分: 力荐
Xpath什么时候支持啊?cssPath加下标方式不太爽
2017/01/09 17:57
回复
举报
xtuhcy软件作者
1.0.5版本发布,支持htmlunit #GECCO#
2016/03/07 10:52
回复
举报
xtuhcy软件作者
java爬虫gecco上国内开源本周热门了 #GECCO#
2016/03/10 09:28
回复
举报
好东西值得学习 #GECCO#
2016/03/10 09:52
回复
举报
xtuhcy软件作者
1.0.6版本发布,增加了downloader的灵活配置,每个@Gecco都可以配置downloader #GECCO#
2016/03/15 14:49
回复
举报
xtuhcy软件作者
1.0.7发布,java爬虫gecco监控来了,不再裸奔 #GECCO#
2016/03/21 11:00
回复
举报
xtuhcy软件作者
qq群:531949844。欢迎一起讨论交流~ #GECCO#
2016/03/28 10:00
回复
举报
更多评论
发表了资讯
2016/11/03 00:00

Gecco 1.2.5 发布,易用的轻量化爬虫

Gecco 1.2.5 发布了,DynamicGecco 实现了爬虫规则的热部署,是首个支持动态加载的java爬虫框架。 更新内容: @Gecco注解支持多个matchUrl,一个spiderbean可以同时匹配多种形式的url jd地址全部升级为https,jd demo改成https 升级cglib,fastjson,jsoup等到最新版本 整理javadoc,去除错误和警告 下载地址: Source code (zip) Source code (tar.gz)...

5
55
发表了资讯
2016/09/12 00:00

Gecco 1.2.4 发布,易用的轻量化爬虫

Gecco 1.2.4 发布了,DynamicGecco 实现了爬虫规则的热部署,是首个支持动态加载的java爬虫框架。 DynamicGecco 的目的是在不定义 SpiderBean 的情况下实现爬取规则的运行时配置。其实现原理是采用字节码编程,动态生成 SpiderBean,而且通过自定义的 GeccoClassLoader 实现了抓取规则的热部署。使用方法可以参考《教您使用DynamicGecco抓取JD全部商品信息》这个DEMO: http://www.geccocrawler.com/dynamic-demo-jd/ 更新内容:...

5
53
发表了资讯
2016/08/19 00:00

Gecco 1.2.3 发布,易用的轻量化爬虫

Gecco 1.2.3 发布了,DynamicGecco 实现了爬虫规则的热部署,是首个支持动态加载的java爬虫框架。 DynamicGecco 的目的是在不定义 SpiderBean 的情况下实现爬取规则的运行时配置。其实现原理是采用字节码编程,动态生成 SpiderBean,而且通过自定义的 GeccoClassLoader 实现了抓取规则的热部署。使用方法可以参考《教您使用DynamicGecco抓取JD全部商品信息》这个DEMO:http://www.geccocrawler.com/dynamic-demo-jd/ 版本更新如...

1
48
发表了资讯
2016/07/18 00:00

Gecco 1.2.2 发布,首个支持动态加载的java爬虫框架

Gecco 1.2.2 发布了,DynamicGecco实现了爬虫规则的热部署,是首个支持动态加载的java爬虫框架。 DynamicGecco的目的是在不定义SpiderBean的情况下实现爬取规则的运行时配置。其实现原理是采用字节码编程,动态生成SpiderBean,而且通过自定义的GeccoClassLoader实现了抓取规则的热部署。使用方法可以参考《教您使用DynamicGecco抓取JD全部商品信息》这个DEMO:http://www.geccocrawler.com/dynamic-demo-jd/ 其他优化:修复了U...

4
78
发表了资讯
2016/07/05 00:00

Gecco 1.2.0 发布,支持运行时抓取规则配置

Gecco 1.2.0 发布了,该版本改进内容包括: 1.HttpClientDownloader保证inputstream能重复使用,@shangjian提供修改思路 2.支持一个Before/AfterDownloader对应多个SpiderBean 3.Gecco的动态编程是新版本的核心功能,Gecco支持动态生成SpiderBean包括类,属性,注解。可以不需要预先定义SpiderBean即可完成抓取。详细情况可以参考http://my.oschina.net/u/2336761/blog/706041 通过动态特性,可以实现如下功能: 已经定义了ORM...

7
36
发表了资讯
2016/05/31 00:00

Gecco 1.1.3 发布,易用的轻量化爬虫

Gecco 1.1.3 发布了,该版本改进内容包括: 处理jsonp的时候,分号问题修复 2.支持自定义下载重试次数定义,GeccoEngine.retry(count) 3.HttpClientDownloader支持response的Set Cookie自动存储 4.修改以支持JSON的JsonBean递归解析 by shangjian Gecco是一款用java语言开发的轻量化的易用的网络爬虫。Gecco整合了jsoup、httpclient、fastjson、spring、 htmlunit、redission等优秀框架,让您只需要配置一些jquery风格的选择器就...

9
58
发表了资讯
2016/05/16 00:00

Gecco 1.1.2 发布,易用的轻量化爬虫

Gecco 1.1.2 发布了。该版本主要做了如下修改: 1.更新fastjson,jsoup,cglib最新版本 2.jsonp判断方式修改 3.@Html支持outer 4.修改jd的demo 5.相同matchUrl 给出警告 6.修改UniqueSpiderScheduler判断唯一性的bug(尽快更新)

17
30
发表了资讯
2016/05/09 00:00

Gecco 1.1.1 发布,易用的轻量化爬虫

Gecco 1.1.1 发布了。该版本主要做了如下修改: 1.@Gecco不填写matchUrl时,支持匹配所有格式url的通用抓取 2.默认使用UniqueSpiderScheduler队列管理避免重复HttpRequest的抓取 3.修改table tr列表不能解析的问题 4.增加@Ajax请求支持Html格式内容解析 下载地址: Source code (zip) Source code (tar.gz)...

2
28
发表了资讯
2016/04/26 00:00

Gecco 1.1.0 稳定版发布,易用的轻量化爬虫

gecco 1.1.0稳定版发布了。 1.1.0版本主要做了如下修改: 1.优化代理设置,运行时计算代理下载成功率,自动发现无效代理,支持运行时添加代理 2.HttpClientDownloader支持类似12306网站非信任ssl证书 3.JsonBean支持嵌套解析 4.修复部分网站302无法跳转的bug 5.优化debug日志输出 gecco是一款易用的轻量化网络爬虫。十分的容易上手。 主要特征: 简单易用,使用jquery风格的选择器抽取元素 2.支持页面中的异步ajax请求 3.支持页...

23
80
发表了资讯
2016/04/13 00:00

gecco 1.0.9 发布,易用的轻量化爬虫

gecco 1.0.9 发布了。 1.0.9版本主要做了如下修改: 1、@Image注解增加图片自动下载到本地的方法@Image(download="d:/gecco/jd/img") 2、GeccoEngine改为线程方式,通过start()支持非阻塞方式运行 3、支持debug模式,GeccoEngine.debug(true) 4、简化spring项目启动Gecco的方式,详细请查看(域名备案中):http://101.200.193.106/sysc-6/ 5、文档有较大的完善,http://101.200.193.106/tag/sysc/ 6、非循环模式等待执行完毕后释...

5
57
发表了资讯
2016/03/30 00:00

gecco 1.0.8 发布,易用的轻量化爬虫

gecco 1.0.8 发布了。 1.0.8版本主要做了如下修改: GeccoEngine增加loop方法,支持不循环抓取。gecco默认将改为采用不循环抓取 2.支持移动端的UserAgent,通过GeccoEngine.mobile(true)设置 3.支持配置初始化地址,自动扫描classpath根目录下的starts.json文件 4.HttpResponse增加释放raw的方法 5.GeccoEngine增加close方法,爬取结束后可以释放downloader下载资源 gecco是一款易用的轻量化网络爬虫。十分的容易上手。 主要特征...

0
3
发表了资讯
2016/03/21 00:00

gecco 1.0.7 发布,轻量化网络爬虫

gecco 1.0.7 发布了。gecco是一种轻量化网络爬虫,同时也是一款拥有很好扩展性的框架。 主要特征: 1、简单易用,使用jquery的css selector风格抽取元素 2、支持页面中的异步ajax请求 3、支持页面中的javascript变量抽取 4、利用Redis实现分布式抓取 5、支持下载时UserAgent随机选取 6、支持下载代理服务器随机选取 7、支持结合Spring开发业务逻辑 8、支持htmlunit扩展 增加jmx监控,监控指标包括: 1、爬虫基本信息 2、下载监控...

15
102
发表了资讯
2016/03/15 00:00

GECCO 1.0.6 发布,支持灵活的downloader配置

GECCO 1.0.6 发布,支持灵活的downloader配置。 更新日志: 1、修改request的原始流raw被关闭的bug 2、将downloader关联到gecco上,@Gecco增加downloader和timeout选项。httpclientDownloader和htmlUnitDownloader可以灵活配置 下载地址: Source code (zip)

2
6
发表了资讯
2016/03/07 00:00

gecco 1.0.5 发布,轻量化网络爬虫

gecco 1.0.5 发布了,gecco 是易用的轻量化网络爬虫。 主要改进: 1、修复redirect的相对url的bug 2、增加了支持htmlunit的插件 3、增加抓取JD全部商品的demo 下载地址: Source code (zip) Source code (tar.gz)

3
69
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于AI & 大数据专区
2016/03/28 11:42

java爬虫gecco的稳定性测试

#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个初始抓取链...

2
0
发表于软件架构专区
2016/03/07 10:30

java爬虫gecco支持htmlunit

#java爬虫gecco支持htmlunit java爬虫gecco发布了1.0.5版本,增加了对htmlunit的支持。[htmlunit](http://htmlunit.sourceforge.net/)是一款开源的java 页面分析工具,读取页面后,可以有效的使用htmlunit分析页面上的内容。项目可以模拟浏览器运行,被誉为java浏览器的开源实现。这个没有界面的浏览器,运行速度也是非常迅速的。htmlunit采用的是rhino作为javascript的解析引擎。 ##使用方法 - 下载 com.geccocrawler gecco-h...

5
3
发表于AI & 大数据专区
2016/03/21 10:42

java爬虫gecco监控来了,不再裸奔

#java爬虫gecco监控来了,不再裸奔 ##爬虫为什么要监控 [gecco](https://github.com/xtuhcy/gecco)是一个十分简单易用的java开源爬虫框架,同时也一个款拥有很好扩展性的框架,目前已经有: 结合spring的插件[gecco-spring](https://github.com/xtuhcy/gecco-spring) 结合htmlunit的插件[gecco-htmlunit](https://github.com/xtuhcy/gecco-htmlunit) 结合reids的插件[gecco-reids](https://github.com/xtuhcy/gecco-redis) 在开...

1
17
发表于服务端专区
2016/01/05 17:34

GECCO(易用的轻量化的网络爬虫)

# [GECCO](https://github.com/xtuhcy/gecco)(易用的轻量化的网络爬虫) ####初衷 >现在开发应用已经离不开爬虫,网络信息浩如烟海,对互联网的信息加以利用是如今所有应用程序都必须要掌握的技术。了解过现在的一些爬虫软件,python语言编写的爬虫框架[scrapy](https://github.com/scrapy/scrapy)得到了较为广泛的应用。gecco的设计和架构受到了scrapy一些启发,结合java语言的特点,形成了如下软件框架。易用是gecco框架首要目...

6
2
发表于服务端专区
2016/06/08 10:22

Gecco爬虫框架的线程和队列模型

##简述 爬虫在抓取一个页面后一般有两个任务,一个是解析页面内容,一个是将需要继续抓取的url放入队列继续抓取。因此,当爬取的网页很多的情况下,待抓取url的管理也是爬虫框架需要解决的问题。本文主要说的是gecco爬虫框架的队列和线程模型。 ##线程和队列模型 ![线程和队列模型](https://static.oschina.net/uploads/img/201606/08100210_xekC.jpg "线程和队列模型") - gecco的队列模型是两级队列模型。分为初始请求队列和派...

5
0
发表了博客
2016/05/31 10:02

Gecco框架典型案例—闲逛APP

Gecco开源爬虫框架是2015年12月31日发布的,发布以来在易用性、可扩展性上得到了大家的肯定。目前在github上已经有230+的star,100+的fork。那么,Gecco这个新的爬虫框架在实际应用中的表现如何呢?为了让用户放心使用Gecco框架,Gecco团队发布了一款使用Gecco爬虫框架开发的APP——闲逛。这款应用更多的是用来验证Gecco框架的易用性、稳定性、可扩展性。任何脱离实际应用的框架都是耍流氓。 闲逛应用抓取了京东、苏宁易购、天猫...

1
1
发表于开发技能专区
2016/02/24 12:39

教您使用java爬虫gecco抓取JD全部商品信息(一)

#教您使用java爬虫gecco抓取JD全部商品信息(一) ##gecco爬虫 如果对gecco还没有了解可以参看一下gecco的github[首页](https://github.com/xtuhcy/gecco)。gecco爬虫十分的简单易用,JD全部商品信息的抓取9个类就能搞定。 ##JD网站的分析 要抓取JD网站的全部商品信息,我们要先分析一下网站,京东网站可以大体分为三级,首页上通过分类跳转到商品列表页,商品列表页对每个商品有详情页。那么我们通过找到所有分类就能逐个分类抓...

8
21
发表于服务端专区
2016/02/26 11:16

教您使用java爬虫gecco抓取JD全部商品信息(三)

##详情页抓取 商品的基本信息抓取完成后,就要针对每个商品的详情页进行抓取,可以看到详情页的地址格式一般如下:http://item.jd.com/1861098.html。我们建立商品详情页的Bean: @Gecco(matchUrl="http://item.jd.com/{code}.html", pipelines="consolePipeline") public class ProductDetail implements HtmlBean { private static final long serialVersionUID = -377053120283382723L; /** * 商品代码 */ @RequestParameter...

0
8
发表于软件架构专区
2016/02/25 10:55

教您使用java爬虫gecco抓取JD全部商品信息(二)

##抓取商品列表信息 AllSortPipeline已经将需要进一步抓取的商品列表信息的链接提取出来了,可以看到链接的格式是:http://list.jd.com/list.html?cat=9987,653,659&delivery=1&JL=4_10_0&go=0。因此我们建立商品列表的Bean——ProductList,代码如下: @Gecco(matchUrl="http://list.jd.com/list.html?cat={cat}&delivery={delivery}&page={page}&JL={JL}&go=0", pipelines={"consolePipeline", "productListPipeline"}) publi...

1
3
2018/05/26 05:48

Java 从零开始学爬虫(gecco)

废话: 第一次学习并尝试分析、爬取一个网站的数据,全部是从零开始的经验,希望对各位看官有帮助,当然,本次爬取的是一个比较简单的网页,没有任何反爬虫措施的网页。 网上查了一下Java爬数据,最原始的方式是用请求网页的字符串然后用正则解析标签,再查了一下有什么爬虫、解析网页的工具,然后就查到了这个gecco,当是也没多想,就是干吧。 主要参考了两个博客: 1、入门到精通:https://segmentfault.com/a/11900000100866...

0
26
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
22 评论
296 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部