网络爬虫框架cetty的实现
网络爬虫框架cetty的实现
- 功能介绍
- maven配置
- 简单demo的实现
- 提供能力
- 关于demo的github地址如下
功能介绍
- 基于完全自定义事件处理机制的爬虫框架
- 模块化的设计,提供强大的可扩展性
- 基于HttpClient支持同步和异步数据抓取
- 支持多线程
- 基于Jsoup页面解析框架提供强大的网页解析处理能力
maven配置
<dependency><groupId>com.jibug.cetty</groupId><artifactId>cetty-core</artifactId><version>0.1.8</version>
</dependency>
简单demo的实现
package com.leo.demo.cettytest;import com.google.common.collect.Lists;
import com.jibug.cetty.core.Bootstrap;
import com.jibug.cetty.core.Page;
import com.jibug.cetty.core.Payload;
import com.jibug.cetty.core.Result;
import com.jibug.cetty.core.handler.ConsoleReduceHandler;
import com.jibug.cetty.core.handler.HandlerContext;
import com.jibug.cetty.core.handler.ProcessHandlerAdapter;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;import java.util.List;/*** 抓取天涯论坛文章列表标题* http://bbs.tianya.cn/list-333-1.shtml** @author Administrator* @Date 2019/5/8 10:39* @TODO*/
public class Tianya extends ProcessHandlerAdapter {@Overridepublic void process(HandlerContext ctx, Page page) {//获取 DocumentDocument 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).//抓取入口urlstartUrl("http://bbs.tianya.cn/list-333-1.shtml").//通用请求信息setPayload(Payload.custom()).//添加自定处理器addHandler(new Tianya()).//添加默认结果处理器,输出至控制台addHandler(new ConsoleReduceHandler()).start();}
}
提供能力
- 支持注解方式
- 支持代理池
- 支持支持Berkeley 内存数据作为url管理器,提供海量url存储并提高存取效率
- 支持热更新
- 支持爬虫治理
关于demo的github地址如下
https://github.com/leo825/sortalgorithm.git
网络爬虫框架cetty的实现相关推荐
- 快速认识网络爬虫与Scrapy网络爬虫框架
本课程为之后Scrapy课程的预先课程,非常简单,主要是为了完全没有基础的小白准备的,如果你已经有了一定的了解那么请跳过该部分 问:什么是网络爬虫 答:就是从网上下载数据的一个程序,只不过这个程序下载 ...
- 开源 Python网络爬虫框架 Scrapy
开源 Python 网络爬虫框架 Scrapy:http://blog.csdn.net/zbyufei/article/details/7554322 介绍 所谓网络爬虫,就是一个在网上到处或定向抓 ...
- 基于java的网络爬虫框架(实现京东数据的爬取,并将插入数据库)
本文为原创博客,仅供技术学习使用.未经允许,禁止将其复制下来上传到百度文库等平台. 目录 网络爬虫框架 网络爬虫的逻辑顺序 网络爬虫实例教学 model main util parse db 再看ma ...
- Golang 网络爬虫框架gocolly/colly
gocolly是Golang实现的网络爬虫框架,名列go版爬虫程序榜首. 安装 go get -u github.com/gocolly/colly/... 例子 import ( "fmt ...
- 网络爬虫框架Scrapy简介
作者: 黄进(QQ:7149101) 一. 网络爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本:它是一个自动提取网页的程序,它为搜索引擎从万维 ...
- Golang网络爬虫框架gocolly/colly(三)
熟悉了<Golang 网络爬虫框架gocolly/colly 一>和<Golang 网络爬虫框架gocolly/colly 二>之后就可以在网络上爬取大部分数据了.本文接下来将 ...
- 2023年互联网网络爬虫框架TOP10分析
网络爬虫 是一种自动收集互联网上发布的文本.图像和视频等信息并将其存储在数据库中的程序.各种网络爬虫在大数据热潮中发挥着重要作用,使人们更容易抓取数据. 在各种网络爬虫中,有很多开源的网络爬虫框架.开 ...
- Python网络爬虫框架 Scrapy简介
Scrapy 网络爬虫框架 Scrapy的安装 cmd 执行: pip install scrapy测试安装: scrapy -h Scrapy介绍 Scrapy不是一个函数功能库,而是一个爬虫框架. ...
- 【Python学习系列五】Python网络爬虫框架Scrapy环境搭建
1.网络爬虫库Scrapy 网络爬虫,是在网上进行数据抓取的程序,使用它能够抓取特定网页的HTML数据.Scrapy是一个使用Python编写的,轻量级的,简单轻巧,并且使用起来非常的方便.Scrap ...
最新文章
- 从iso镜像升级ubuntu
- FMDatabase常见的几个操作
- java 计算器_用Java编写一个简单的计算器
- 关于nginx配置的不完全总结
- Tomcat常用面试题
- 寻找性能更优秀的不可变小字典
- VS Code Element 提示 VSCode-Element-Helper 插件
- sc925 文档服务器,dell服务器磁盘阵列配置手册.docx
- 谈谈如何用eoLinker管理各类API接口
- 【技术白皮书】第四章:信息抽取技术产业应用现状及案例(下)
- 《Python 100例》练习,基于Python 3.5做了一遍
- [NISACTF 2022]
- 输出一个菱形(C语言)
- 解决matplotlib问题: 没有‘Times New Roman‘字体
- 草根程序员转型做项目管理走过的点点滴滴之_华为裁员感想
- 取模 乘法和除法运算在CPU和GPU上的效率
- 聊聊你不知道的Java变量转型
- ccf 201903-5 317号子任务【60分】
- 关于elementui上传图片 隐藏上传按钮
- 蓝牙解析(part5):BLE的广播通信
热门文章
- 猿辅导、作业帮忙“圈钱”,跟谁学、有道、51Talk狂“烧钱”,在线教育钱途在哪?
- 贩卖知识的“成功学”,大师“卖拐”几时休?
- 本土品牌“资源诅咒”之下,为何李宁逆袭,达芙妮跌落?
- 事物的开始和结束命令分别是什么_人教版小学四年级语文下册期末测试题及答案[1]...
- 安卓系统PHP MYSQL服务器,安卓手机搭建网站服务器【Php+Mysql+Lighttpd】
- java使用druid maven_SpringMVC+Spring+Mybatis整合,使用druid连接池,声明式事务,maven配置...
- ajax 下拉框 保留,Ajax生成select级联下拉框和清空多余选项
- excel取整函数_Excel中的这些烧脑问题,你遇到过几种?
- 修改 oracle dbid,更改数据库DBID
- Python 调用pyaudio库录制以及播放wav音频文件