Skip to content

woluoyifan/light-crawler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

超轻量级java爬虫脚手架

一.前言

本项目是受webcollector的启发,通过最简单的方式提供了一个超轻量级的java爬虫开发脚手架,支持多线程\url去重\深度爬取\自定义扩展功能

当前版本2.1

二.快速开始

一个简单的例子:

    new Crawler()
        //执行请求实现
        .requester(requester)
        //结果解析实现
        .visitor(visitor)
        //执行线程数
        .thread(3)
        //请求间隔,毫秒
        .requestInterval(200L)
        //添加请求种子
        .add(new Seed("http://www.luoyifan.com"))
        //启动
        .start();

作为快速开始的例子的一部分,提供了2个基础的实现类
位于core模块的OkHttpRequester实现了Requester接口
位于extend模块的ConsoleVisitor实现了Visitor接口

三.项目说明

已支持功能

  • 多线程
  • 深度爬取
  • 爬取间隔
  • 失败重试
  • 自定义访问器
  • 自定义解析器
  • 基于HashSet布隆过滤器(bloom filter)的url去重

待完成功能

  • 完整的实时统计
  • web/restapi控制支持(待定,与[超轻量级]的定位是否符合?)

版本历史

2.x提供以下完整的支持

  • 多线程
  • 深度爬取
  • 基于HashSet布隆过滤器(bloom filter)的url去重
  • 相对丰富的可拓展性

1.x 提供了以下基础的支持,该版本建议仅供开发历史参考,请停止使用

  • 多线程
  • 深度爬取
  • 一定的可拓展性

项目依赖

  • lombok
  • slf4j-api
  • log4j2
  • okhttp(可选)

四.结语

脚手架使用过程中如遇到任何问题或无法使用的朋友,请联系我,我会提供一定的技术支持.

QQ: 345300490
WeChat: EvanLowe
Email: [email protected]

如果觉得这个脚手架给你带来了一定的帮助,请帮忙点个赞(star),你的支持是我前进的动力,谢谢!

About

超轻量级java爬虫脚手架

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages