在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:cetty开源软件地址:https://gitee.com/jibug/cetty开源软件介绍:Cetty一个轻量级的基于事件分发的爬虫框架。
功能介绍
快速开始使用Maven<dependency> <groupId>com.jibug.cetty</groupId> <artifactId>cetty-core</artifactId> <version>0.1.8</version></dependency> 帮助1.详细文档:http://cetty.jibug.com/ 让我们来写第一个demo/** * 抓取天涯论坛文章列表标题 * http://bbs.tianya.cn/list-333-1.shtml * * @author heyingcai */public class Tianya extends ProcessHandlerAdapter { @Override public void process(HandlerContext ctx, Page page) { //获取 Document Document document = page.getDocument(); //dom解析 Elements itemElements = document. select("div#bbsdoc>div#bd>div#main>div.mt5>table>tbody"). get(2). select("tr"); List<String> titles = Lists.newArrayList(); for (Element item : itemElements) { String title = item.select("td.td-title").text(); titles.add(title); } //获取Result对象,将我们解析出来的结果向下一个handler传递 Result result = page.getResult(); result.addResults(titles); //通过fireXXX 方法将本handler 处理的结果向下传递 //本教程直接将结果传递给ConsoleHandler,将结果直接输出控制台 ctx.fireReduce(page); } public static void main(String[] args) { //启动引导类 Bootstrap. me() //使用同步抓取 .isAsync(false) //开启一个线程 .setThreadNum(1) //抓取入口url .startUrl("http://bbs.tianya.cn/list-333-1.shtml") //通用请求信息 .setPayload(Payload.custom()) //添加自定处理器 .addHandler(new Tianya()) //添加默认结果处理器,输出至控制台 .addHandler(new ConsoleReduceHandler()) //是否启用实时抓取模式,如果启用非实时抓取模式则当任务队列中没有任务的一段时间后爬虫会自动处于close状态 .isDuration(false) .start(); }} 历史版本
TODO
|
请发表评论