Skip to content

liuyueyi/quick-crawler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

quick-crawler

java实现的爬虫框架

从头开始, 一步一步的实现一个可用的爬虫框架,每个地方加一个里程碑的tag,主要用于记录这个工程的诞生过程

tag 记录列表

实现了一个最简单,最基础的爬虫, 处于能用的阶段

利用HttpClient来替代jdk的http请求;新增http参数配置

实现深度爬网页

  • 支持正向、逆向链接过滤
  • 在内存中保存爬取记录,用于去重过滤
  • 提供爬取完成后的回调方法,用于结果处理

实现爬取队列

  • 每个Job只执行当前网页的抓取,将网页中满足深度抓取的链接塞入队列
  • 新增Fetcher类,用于控制抓去任务

实现Job任务中爬取 + 结果解析的分离; 完成任务结束的标识设定

  • 新增 ResultFilter 实现爬取网页的分析, 并将满足条件的链接塞入爬取队列
  • 新增 JobCount 来记录任务的爬取完成数, 以此完成整个任务的结束标识设定

添加日志埋点

新增动态配置信息支持

  • 采用配置文件方式,支持配置信息的动态变更

对象池的实现

  • 采用对象池来管理Job任务的创建

相关博文

一灰灰Blog地址: https://blog.hhui.top/

所有QuickCrawel相关博文汇总: QuickCrawel java爬虫归档