2021SC@SDUSC
我在小组的职责是协同其他成员一起对源代码进行分析并做一定扩展,理解并熟练掌握这项爬虫技术。
作为一款用java语言开发的轻量化的易用的网络爬虫,Gecco不同于关注下载,排序与索引的通用爬虫,它主要关注的是下载、内容抽取、灵活的业务逻辑处理。
下载
gecco默认采用httpclient4作为下载引擎。通过实现Downloader接口可以自定义自己的下载引擎,在启动GeccoEngine时需要设置自己的下载引擎。下面的代码不是使用默认的httpclient作为下载 。
抽取页面内容
gecco的内容抽取都是直接映射到java bean的属性中,利用注解可以方便的注入页面中的各种信息包括html页面内容、Ajax请求、javascript变量、request信息等 一、Html页面内容抽取 jsoup语法介绍 Selector选择器概述 tagname。
逻辑处理能力
至此页面内容已经被gecco转换为一个普通的javabean。剩下的工作就是将javabean进一步清洗然后针对特定的业务逻辑进行持久化等处理。 一、实现pipeline接口 gecco采用管道过滤器模式灵活的实现业务逻辑处理,首先实现一个特定的管道过滤器。



