业务逻辑处理
至此页面内容已经被gecco转换为一个普通的javabean。剩下的工作就是将javabean进一步清洗然后针对特定的业务逻辑进行持久化等处理。
一、实现pipeline接口
gecco采用管道过滤器模式灵活的实现业务逻辑处理,首先实现一个特定的管道过滤器,如:
@PipelineName("consolePipeline")
public class ConsolePipeline implements Pipeline<SpiderBean> {
@Override
public void process(SpiderBean bean) {
System.out.println(JSON.toJSONString(bean));
}
}
然后将定义的pipeline关联到对应的javabean中,如:
@Gecco(matchUrl="https://github.com/{user}/{project}", pipelines="consolePipeline")
二、结合spring开发业务逻辑
现在开发java服务器端应用已经基本离不开spring框架了,gecco实现了和spring框架的结合,请下载gecco-spring。首先定义springPipelineFactory
<bean id="springPipelineFactory" class="com.geccocrawler.gecco.spring.SpringPipelineFactory"/>
然后在启动GeccoEngine是设置pipelineFactory
GeccoEngine.create().pipelineFactory(springPipelineFactory)
最后实现pipeline
@Service("consolePipeline")
public class ConsolePipeline implements Pipeline<SpiderBean> {
@Override
public void process(SpiderBean bean) {
System.out.println(JSON.toJSONString(bean));
}
}
spring的Service名称,即是pipeline的名称