From 3b1993eaad23574983c77d44f684db9e2c3d0f56 Mon Sep 17 00:00:00 2001 From: "yihua.huang" Date: Sat, 10 Aug 2013 08:31:03 +0800 Subject: [PATCH] update docs --- webmagic manual.md | 3 +++ .../codecraft/webmagic/model/samples/OschinaBlog.java | 10 +++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/webmagic manual.md b/webmagic manual.md index fd576cf..58f7364 100644 --- a/webmagic manual.md +++ b/webmagic manual.md @@ -352,6 +352,7 @@ webmagic-extension包括注解模块。为什么会有注解方式? AfterExtractor接口是对注解方式抽取能力不足的补充。实现AfterExtractor接口后,会在**使用注解方式填充完字段后**调用**afterProcess()**方法,在这个方法中可以直接访问已抽取的字段、补充需要抽取的字段,甚至做一些简单的输出和持久化操作(并不是很建议这么做)。这部分可以参考[webmagic结合JFinal持久化到数据库的一段代码](http://www.oschina.net/code/snippet_190591_23456)。 * #### OOSpider + OOSpider是注解式爬虫的入口,这里调用**create()**方法将OschinaBlog这个类加入到爬虫的抽取中,这里是可以传入多个类的,例如: OOSpider.create( @@ -362,7 +363,9 @@ webmagic-extension包括注解模块。为什么会有注解方式? OOSpider会根据TargetUrl调用不同的Model进行解析。 * #### PageModelPipeline + 可以通过定义PageModelPipeline来选择结果输出方式。这里new ConsolePageModelPipeline()是PageModelPipeline的一个实现,会将结果输出到控制台。 + PageModelPipeline还有一个实现**JsonFilePageModelPipeline**,可以将对象持久化以JSON格式输出,并持久化到文件。JsonFilePageModelPipeline默认使用对象的MD5值作为文件名,你可以在Model中实现HasKey接口,指定输出的文件名。 * #### 分页 diff --git a/webmagic-samples/src/main/java/us/codecraft/webmagic/model/samples/OschinaBlog.java b/webmagic-samples/src/main/java/us/codecraft/webmagic/model/samples/OschinaBlog.java index a76fd88..96de977 100644 --- a/webmagic-samples/src/main/java/us/codecraft/webmagic/model/samples/OschinaBlog.java +++ b/webmagic-samples/src/main/java/us/codecraft/webmagic/model/samples/OschinaBlog.java @@ -31,6 +31,11 @@ public class OschinaBlog implements HasKey{ ,new JsonFilePageModelPipeline(), OschinaBlog.class).run(); } + @Override + public String key() { + return title; + } + public String getTitle() { return title; } @@ -42,9 +47,4 @@ public class OschinaBlog implements HasKey{ public List getTags() { return tags; } - - @Override - public String key() { - return title; - } }