这系列文章主要分析分析webmagic框架,没有实战内容,如有实战问题可以讨论,也可以提供技术支持。
欢迎加群313557283(刚创建),小白互相学习~
ResultItems
package us.codecraft.webmagic; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; /** * Object contains extract results.<br> * It is contained in Page and will be processed in pipeline. * * @author [email protected] <br> * @since 0.1.0 * @see Page * @see us.codecraft.webmagic.pipeline.Pipeline */ //结果类 public class ResultItems { //结果 private Map<String, Object> fields = new LinkedHashMap<String, Object>(); //请求 private Request request; //是否跳过 private boolean skip; //根据参数key返回value public <T> T get(String key) { Object o = fields.get(key); if (o == null) { return null; } return (T) fields.get(key); } public Map<String, Object> getAll() { return fields; } public <T> ResultItems put(String key, T value) { fields.put(key, value); return this; } public Request getRequest() { return request; } public ResultItems setRequest(Request request) { this.request = request; return this; } /** * Whether to skip the result.<br> * Result which is skipped will not be processed by Pipeline. * * @return whether to skip the result */ public boolean isSkip() { return skip; } /** * Set whether to skip the result.<br> * Result which is skipped will not be processed by Pipeline. * * @param skip whether to skip the result * @return this */ public ResultItems setSkip(boolean skip) { this.skip = skip; return this; } @Override public String toString() { return "ResultItems{" + "fields=" + fields + ", request=" + request + ", skip=" + skip + '}'; } }