Java网络爬虫crawler4j学习笔记<1>入门

1.简介

crawler4j是一个开源的网络爬虫框架github地址,可以帮助我们很快地实现一个最基本的网络爬虫。同时由于它的架构比较简单,整个项目只有几十个代码文件,并且完全实现了一个爬虫应该具有的所有基本单元。麻雀虽小,肝胆俱全。非常适合爬虫菜鸟来进行深入的学习。

2.环境搭建

2.1爬虫开发环境

如果你只是想在你的爬虫项目中使用crawler4j,而不需要深入研究其源代码。可以直接下载crawler4j-4.1-jar-with-dependencies.jar)。由于crawler4j和很多apache项目一样,都使用slf4j日志接口,所以需要添加额外的日志实现,一般可以使用log4j等日志系统。如下图所示(我使用的是sfl4j-simple日志实现)。
这里写图片描述
接下来可以把github上的demo代码复制到项目中,测试即可。亲手运行一下,才会有切身的体会。

2.2代码研究环境

我们研究源代码,就必须搭建代码阅读和运行环境。下载项目源代码,我使用的是crawler4j-4.1版本。在eclipse中先建立相应的package和class文件,复制相应的class文件。之后根据错误提示,从网上找到相应的依赖包。
如图所示
这些包的用处之后再慢慢分析。图中我额外添加了一个mytest包,用于写一些临时的test case,帮助我们理解函数的功能。

3.crawler4j架构

src
    crawler   // 爬虫类
        authentication  // 认证
        exceptions      // 异常定义
    fetcher   // 网络获取
    frontier  // 爬虫调度
    parser    // 网页内容处理
    rototstxt // robot协议处理
    url       // URL处理
    util      // 工具
    mytest    // 我们的测试用例

可以看出crawler4j的基本架构就是把所有你能想到的组成部分都单独拆出来,每个部分只负责一件事。

4.代码阅读与分析

国外大神写书都是首先从架构写起,然后逐个深入,最后有机结合。作为学习笔记,我的想法是由易到难,先把依赖包最少的最简单的类理解清楚,再分析难的,最后组合到一起。话不多说,走你。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值