Webmagic之使用Pipeline保存结果

Posted IT特工

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Webmagic之使用Pipeline保存结果相关的知识,希望对你有一定的参考价值。

使用Pipeline保存结果

WebMagic用于保存结果的组件叫做Pipeline.我们现在通过“控制台输出结果”,这件事也是通过一个内置的Pipeline完成的,它叫做ConsolePipeline

代码:

package cn.itcast.webmagic;

import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.pipeline.FilePipeline;
import us.codecraft.webmagic.processor.PageProcessor;

public class JobProcessor implements PageProcessor {
//解析页面
public void process(Page page) {
//解析返回的数据page,并且把解析的结果放到ResultItems中
page.putField("title",page.gethtml().css("title").all());
}
private Site site=Site.me();
public Site getSite() {
return site;
}
//主函数,执行爬虫
public static void main(String[] args) {
Spider.create(new JobProcessor())
.addUrl("https://www.taobao.com/tbhome/page/market-list")//设置爬虫数据的页面
.addPipeline(new FilePipeline("C:\\\\Users\\\\Administrator\\\\Desktop\\\\result"))
.thread(5)
.run();
}
}
通过上面的代码就可以实现将结果保存在文件中

 

 当上面带背景颜色的代码省略不写是,会直接打印在控制台,

下面的代码.thread()多线程会提高效率

以上是关于Webmagic之使用Pipeline保存结果的主要内容,如果未能解决你的问题,请参考以下文章

Java爬爬学习之WebMagic

DeepStream6.0系列之filesink保存文件

WebMagic

webmagic自定义存储(mysqlredis存储)

DeepStream6.0系列之filesink保存文件

WebMagic快速入门