cetty 基于事件分发的爬虫框架开源项目

我要开发同款
匿名用户2019年03月01日
124阅读

技术信息

开源地址
https://gitee.com/jibug/cetty
授权协议
Apache

作品详情

一个轻量级的基于事件分发的爬虫框架。

功能介绍

基于完全自定义事件处理机制的爬虫框架。模块化的设计,提供强大的可扩展性。基于HttpCliet支持同步和异步数据抓取。支持多线程。基于Jsoup页面解析框架提供强大的网页解析处理能力。

mave

<depedecy><groupId>com.jibug.cetty</groupId><artifactId>cetty-core</artifactId><versio>0.1.5</versio></depedecy>

快速入门

/***抓取天涯论坛文章列表标题*https://bbs.tiaya.c/list-333-1.shtml**@authorheyigcai*/publicclassTiayaextedsProcessHadlerAdapter{@Overridepublicvoidprocess(HadlerCotextctx,Pagepage){//获取DocumetDocumetdocumet=page.getDocumet();//dom解析ElemetsitemElemets=documet.select("div#bbsdoc>div#bd>div#mai>div.mt5>table>tbody").get(2).select("tr");List<Strig>titles=Lists.ewArrayList();for(Elemetitem:itemElemets){Strigtitle=item.select("td.td-title").text();titles.add(title);}//获取Result对象,将我们解析出来的结果向下一个hadler传递Resultresult=page.getResult();result.addResults(titles);//通过fireXXX方法将本hadler处理的结果向下传递//本教程直接将结果传递给CosoleHadler,将结果直接输出控制台ctx.fireReduce(page);}publicstaticvoidmai(Strig[]args){//启动引导类Bootstrap.me().//使用同步抓取isAsyc(false).//开启一个线程setThreadNum(1).//抓取入口urlstartUrl("https://bbs.tiaya.c/list-333-1.shtml").//通用请求信息setPayload(Payload.custom()).//添加自定处理器addHadler(ewTiaya()).//添加默认结果处理器,输出至控制台addHadler(ewCosoleReduceHadler()).start();}}

TODO

支持注解方式支持代理池支持Berkeley内存数据作为url管理器,提供海量url存储并提高存取效率支持热更新支持爬虫治理

功能介绍

一个轻量级的基于事件分发的爬虫框架。 功能介绍 基于完全自定义事件处理机制的爬虫框架。 模块化的设计,提供强大的可扩展性。 基于HttpClient支持同步和异步数据抓取。 支持多线程。 基于J...

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论