diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/Fetcher.java b/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ExtractBy.java
similarity index 93%
rename from webmagic-core/src/main/java/us/codecraft/webmagic/annotation/Fetcher.java
rename to webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ExtractBy.java
index 86f78db..7c749b3 100644
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/Fetcher.java
+++ b/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ExtractBy.java
@@ -11,7 +11,7 @@ import java.lang.annotation.Target;
*/
@Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
-public @interface Fetcher {
+public @interface ExtractBy {
String value();
diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/FieldFetcher.java b/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/FieldExtractor.java
similarity index 86%
rename from webmagic-core/src/main/java/us/codecraft/webmagic/annotation/FieldFetcher.java
rename to webmagic-core/src/main/java/us/codecraft/webmagic/annotation/FieldExtractor.java
index ee9962b..243ae9f 100644
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/FieldFetcher.java
+++ b/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/FieldExtractor.java
@@ -9,13 +9,13 @@ import java.lang.reflect.Field;
* @date: 13-8-1
* Time: 下午9:48
*/
-class FieldFetcher {
+class FieldExtractor {
private final Field field;
private final Selector selector;
- FieldFetcher(Field field, Selector selector) {
+ FieldExtractor(Field field, Selector selector) {
this.field = field;
this.selector = selector;
}
diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ObjectPageProcessor.java b/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ObjectPageProcessor.java
index 98c969e..4b54963 100644
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ObjectPageProcessor.java
+++ b/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/ObjectPageProcessor.java
@@ -18,36 +18,36 @@ import java.util.regex.Pattern;
*/
public class ObjectPageProcessor implements PageProcessor {
- private List pageModelFetcherList;
+ private List pageModelExtractorList;
private Site site;
private Set targetUrlPatterns;
public static ObjectPageProcessor create(Site site, Class... clazzs) {
- List pageModelFetcherList = new ArrayList();
+ List pageModelExtractorList = new ArrayList();
for (Class clazz : clazzs) {
- PageModelFetcher pageModelFetcher = PageModelFetcher.create(clazz);
- pageModelFetcherList.add(pageModelFetcher);
+ PageModelExtractor pageModelExtractor = PageModelExtractor.create(clazz);
+ pageModelExtractorList.add(pageModelExtractor);
}
- ObjectPageProcessor objectPageProcessor = new ObjectPageProcessor(site, pageModelFetcherList);
+ ObjectPageProcessor objectPageProcessor = new ObjectPageProcessor(site, pageModelExtractorList);
return objectPageProcessor;
}
- private ObjectPageProcessor(Site site, List pageModelFetcherList) {
+ private ObjectPageProcessor(Site site, List pageModelExtractorList) {
this.site = site;
- this.pageModelFetcherList = pageModelFetcherList;
+ this.pageModelExtractorList = pageModelExtractorList;
targetUrlPatterns = new HashSet();
- for (PageModelFetcher pageModelFetcher : pageModelFetcherList) {
- targetUrlPatterns.addAll(pageModelFetcher.getTargetUrlPatterns());
+ for (PageModelExtractor pageModelExtractor : pageModelExtractorList) {
+ targetUrlPatterns.addAll(pageModelExtractor.getTargetUrlPatterns());
}
}
@Override
public void process(Page page) {
- for (PageModelFetcher pageModelFetcher : pageModelFetcherList) {
- Object process = pageModelFetcher.process(page);
- page.putField(pageModelFetcher.getClazz().getCanonicalName(), process);
+ for (PageModelExtractor pageModelExtractor : pageModelExtractorList) {
+ Object process = pageModelExtractor.process(page);
+ page.putField(pageModelExtractor.getClazz().getCanonicalName(), process);
}
for (String link : page.getHtml().links().all()) {
for (Pattern targetUrlPattern : targetUrlPatterns) {
diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/PageModelFetcher.java b/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/PageModelExtractor.java
similarity index 77%
rename from webmagic-core/src/main/java/us/codecraft/webmagic/annotation/PageModelFetcher.java
rename to webmagic-core/src/main/java/us/codecraft/webmagic/annotation/PageModelExtractor.java
index 097f1af..671dd56 100644
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/PageModelFetcher.java
+++ b/webmagic-core/src/main/java/us/codecraft/webmagic/annotation/PageModelExtractor.java
@@ -17,30 +17,30 @@ import java.util.regex.Pattern;
* @date: 13-8-1
* Time: 下午9:33
*/
-class PageModelFetcher {
+class PageModelExtractor {
private List targetUrlPatterns;
private Class clazz;
- private List fieldFetchers;
+ private List fieldExtractors;
- public static PageModelFetcher create(Class clazz) {
- PageModelFetcher pageModelFetcher = new PageModelFetcher();
- pageModelFetcher.init(clazz);
- return pageModelFetcher;
+ public static PageModelExtractor create(Class clazz) {
+ PageModelExtractor pageModelExtractor = new PageModelExtractor();
+ pageModelExtractor.init(clazz);
+ return pageModelExtractor;
}
private void init(Class clazz) {
this.clazz = clazz;
initTargetUrlPatterns();
- fieldFetchers = new ArrayList();
+ fieldExtractors = new ArrayList();
for (Field field : clazz.getDeclaredFields()) {
field.setAccessible(true);
- Fetcher fetcher = field.getAnnotation(Fetcher.class);
- String value = fetcher.value();
+ ExtractBy extractBy = field.getAnnotation(ExtractBy.class);
+ String value = extractBy.value();
Selector selector;
- switch (fetcher.type()) {
+ switch (extractBy.type()) {
case Css:
selector = new CssSelector(value);
break;
@@ -53,7 +53,7 @@ class PageModelFetcher {
default:
selector = new XpathSelector(value);
}
- fieldFetchers.add(new FieldFetcher(field, selector));
+ fieldExtractors.add(new FieldExtractor(field, selector));
}
}
@@ -83,8 +83,8 @@ class PageModelFetcher {
Object o = null;
try {
o = clazz.newInstance();
- for (FieldFetcher fieldFetcher : fieldFetchers) {
- fieldFetcher.getField().set(o, fieldFetcher.getSelector().select(page.getHtml().toString()));
+ for (FieldExtractor fieldExtractor : fieldExtractors) {
+ fieldExtractor.getField().set(o, fieldExtractor.getSelector().select(page.getHtml().toString()));
}
} catch (InstantiationException e) {
e.printStackTrace();
diff --git a/webmagic-core/src/test/java/us/codecraft/webmagic/annotation/Blog.java b/webmagic-core/src/test/java/us/codecraft/webmagic/annotation/Blog.java
index 391ce10..7139694 100644
--- a/webmagic-core/src/test/java/us/codecraft/webmagic/annotation/Blog.java
+++ b/webmagic-core/src/test/java/us/codecraft/webmagic/annotation/Blog.java
@@ -8,10 +8,10 @@ package us.codecraft.webmagic.annotation;
@TargetUrl("http://my.oschina.net/flashsword/blog/*")
public class Blog {
- @Fetcher("//title")
+ @ExtractBy("//title")
private String title;
- @Fetcher(value = "div.BlogContent",type = Fetcher.Type.Css)
+ @ExtractBy(value = "div.BlogContent",type = ExtractBy.Type.Css)
private String content;
@Override