业务逻辑处理

至此页面内容已经被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的名称

results matching ""

    No results matching ""