返回信息流这个不是一个爬虫框架,而只是一个爬虫接口,看起来更像是java轻量级爬虫的编写规范。是最近在维护实验室的抓取系统的代码时,发现代码很乱,所以想到这个东西。
写这个的目的
当前已经有数量庞大的java爬虫框架,他们功能都很强大和完善,用他们来开发一个大型的爬虫任务非常的方便和便捷。但是JLiteSpider和他们并不是同类型的东西,JLiteSpider更像是一个轻量级java爬虫的编写规范。当满足下面几点时,你也许需要JLiteSpider,当然你也可以自己写一个:-(
1.轻量级的抓取需求
2.下载,解析和数据持久化都需要深度定制
3.需要嵌入在其他的系统中
结构
我把整个抓取流程抽象为四个接口,UrlList接口负责url任务的生成,Downloader接口负责下载任务,Processor接口负责解析任务,Saver接口负责数据持久化的操作。
只要实现了这四个接口,就可以轻松的开始抓取任务:
Spider.create() //创建实例
.setUrlList(...) //设置实现了UrlList接口的Url生成器
.setDownloader(...) //设置实现了Downloader接口的下载器
.setProcessor(...) //设置实现了Processor接口的解析器
.setSaver(...) //设置实现了Saver接口的数据持久化方法
.begin(); //开始爬虫
具体的介绍在这: https://github.com/luohaha/JLiteSpider
欢迎来拍砖和start[ema36][ema17]
这是一条镜像帖。来源:北邮人论坛 / java / #48180同步于 2016/3/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
分享一个java爬虫接口JLiteSpider
poiuasd
2016/3/6镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
这是试图用责任链模式吗,其实可以用代理类把和业务相关的逻辑抽象出来,对于initialize的一块可以通过xml seed 进去或者采用Restful API的设计方法。
多谢建议
【 在 zhaohuanshi 的大作中提到: 】
: 这是试图用责任链模式吗,其实可以用代理类把和业务相关的逻辑抽象出来,对于initialize的一块可以通过xml seed 进去或者采用Restful API的设计方法。