Webmagic之使用Pipeline保存结果

2021-02-04 11:14

阅读:695

标签:lazy   block   css   port   inf   site   str   user   eth   

使用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保存结果

标签:lazy   block   css   port   inf   site   str   user   eth   

原文地址:https://www.cnblogs.com/juddy/p/13143344.html


评论


亲,登录后才可以留言!