WebMagic保存数据
2021-04-01 22:27
标签:http inter png interface ima bsp 部分 alt 通用 使用和定制 Pipeline: 在 WebMagic 中,Pileline 是抽取结束后,进行处理的部分,它主要用于抽取结果的保存,可以定制 Pipeline 可以实现一些通用的功能。 在 WebMagic 里,一个 Spider 可以有多个 Pipeline,使用 Spider.addPipeline() 即可增加一个 Pipeline。这些 Pipeline 都会得到处理,例如可以使用 已有的 Pipeline: WebMagic 中就已经提供了控制台输出、保存到文件、保存为 JSON 格式的文件几种通用的 Pipeline。 定制Pipeline 实现数据导入到数据库中: WebMagic保存数据 标签:http inter png interface ima bsp 部分 alt 通用 原文地址:https://www.cnblogs.com/roadlandscape/p/12563253.html
定制Pipeline,需要实现Pipeline接口,Pipeline接口定义如下:public interface Pipeline {
// ResultItems 保存了抽取结果,它是一个 Map 结构,
// 在 page.putField(key,value)中保存的数据,
//可以通过 ResultItems.get(key)获取
public void process(ResultItems resultItems, Task task);
}
spider.addPipeline(new ConsolePipeline()).addPipeline(new FilePipeline())
实现输出结果到控制台,并且保存到文件的目标。
@Component
public class SpringDataPipeline implements Pipeline {
@Autowired
private JobInfoService jobInfoService;
@Override
public void process(ResultItems resultItems, Task task) {
//获取封装好的招聘详情对象
JobInfo jobInfo = resultItems.get("jobInfo");
//判断数据是否不为空
if (jobInfo != null) {
//如果不为空把数据保存到数据库中
this.jobInfoService.save(jobInfo);
}
}
}