此次更新主要添加了注解模式下的类型转换支持,并且允许自定义转换规则。 1. 添加了注解模式下的类型转换支持,Model可以有更丰富的类型了,内置了基本类型以及日期的支持。
01 | @TargetUrl ( "http://my.oschina.net/flashsword/blog/\\d+" ) |
02 | public class OschinaBlog { |
04 | @ExtractBy ( "//title/text()" ) |
07 | @ExtractBy (value = "div.BlogContent" , type = ExtractBy.Type.Css) |
08 | private String content; |
10 | @ExtractBy (value = "//div[@class='BlogTags']/a/text()" , multi = true ) |
11 | private List<String> tags; |
13 | @Formatter ( "yyyy-MM-dd HH:mm" ) |
14 | @ExtractBy ( "//div[@class='BlogStat']/regex('\\d+-\\d+-\\d+\\s+\\d+:\\d+')" ) |
17 | public static void main(String[] args) { |
18 | OOSpider.create(Site.me().addStartUrl( "http://my.oschina.net/flashsword/blog" ) |
19 | , new ConsolePageModelPipeline(), OschinaBlog. class ).run(); |
2.支持自定义类型和转换,实现ObjectFormatter接口,并调用ObjectFormatters.put()注册这个转换器即可。 3.修复了stop()方法导致线程池抛出异常的bug。 |