add default values for @Formatter

pull/79/head
yihua.huang 11 years ago
parent 90447bff02
commit 8958d774f2

@ -26,11 +26,11 @@ public class OschinaBlog {
@ExtractBy(value = "//div[@class='BlogTags']/a/text()", multi = true)
private List<String> tags;
@Formatter("yyyy-MM-dd HH:mm")
@ExtractBy("//div[@class='BlogStat']/regex('\\d+-\\d+-\\d+\\s+\\d+:\\d+')")
private Date date;
public static void main(String[] args) {
//results will be saved to "/data/webmagic/" in json format
OOSpider.create(Site.me(), new JsonFilePageModelPipeline("/data/webmagic/"), OschinaBlog.class)
.addUrl("http://my.oschina.net/flashsword/blog").run();
}

@ -21,7 +21,7 @@ public @interface Formatter {
*
* @return formatter params
*/
String[] value();
String[] value() default "";
/**
* Specific the class of field of class of elements in collection for field. <br/>

@ -10,7 +10,8 @@ import java.util.Date;
*/
public class DateFormatter implements ObjectFormatter<Date> {
private String[] datePatterns = new String[]{"yyyy-MM-dd HH:mm"};
public static final String[] DEFAULT_PATTERN = new String[]{"yyyy-MM-dd HH:mm"};
private String[] datePatterns = DEFAULT_PATTERN;
@Override
public Date format(String raw) throws Exception {
@ -24,6 +25,8 @@ public class DateFormatter implements ObjectFormatter<Date> {
@Override
public void initParam(String[] extra) {
datePatterns = extra;
if (extra != null && !(extra.length == 1 && extra[0].length() == 0)) {
datePatterns = extra;
}
}
}

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yy-MM-dd HH:mm:ss,SSS} %-5p %c(%F:%L) ## %m%n" />
</layout>
</appender>
<logger name="org.apache" additivity="false">
<level value="warn" />
<appender-ref ref="stdout" />
</logger>
<root>
<level value="info" />
<appender-ref ref="stdout" />
</root>
</log4j:configuration>

@ -8,23 +8,13 @@
</layout>
</appender>
<logger name="org.springframework" additivity="false">
<level value="warn" />
<appender-ref ref="stdout" />
</logger>
<logger name="org.apache" additivity="false">
<level value="warn" />
<appender-ref ref="stdout" />
</logger>
<logger name="net.sf.ehcache" additivity="false">
<level value="warn" />
<appender-ref ref="stdout" />
</logger>
<root>
<level value="debug" />
<level value="info" />
<appender-ref ref="stdout" />
</root>

Loading…
Cancel
Save