package net.aimeizi.webmagic; import net.aimeizi.dao.ArticleDao; import net.aimeizi.model.Article; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import us.codecraft.webmagic.ResultItems; import us.codecraft.webmagic.Task; import us.codecraft.webmagic.pipeline.Pipeline; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by Administrator on 2015/9/10. */ @Component("jdbcPipeline") public class JdbcPipeline implements Pipeline { @Autowired ArticleDao articleDao; public void process(ResultItems resultItems, Task task) { Map<String,Object> items = resultItems.getAll(); if(resultItems!=null&&resultItems.getAll().size()>0){ Article article = new Article(); article.setTitle((String) items.get("title")); article.setContent((String) items.get("content")); article.setSource((String) items.get("source")); article.setAuthor((String) items.get("author")); article.setUrl((String)items.get("url")); String dataStr = (String)items.get("create"); Pattern pattern = Pattern.compile("\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}"); Matcher matcher = pattern.matcher(dataStr); if(matcher.find()){ dataStr = matcher.group(0); } try { article.setPubdate(new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(dataStr)); } catch (ParseException e) { e.printStackTrace(); } articleDao.save(article); } } }