update pipeline
parent
21cae2ff2e
commit
04a7fa037a
|
@ -28,13 +28,15 @@ public class OOSpider extends Spider {
|
||||||
this(ObjectPageProcessor.create(site, pageModels));
|
this(ObjectPageProcessor.create(site, pageModels));
|
||||||
this.objectPipeline = new ObjectPipeline();
|
this.objectPipeline = new ObjectPipeline();
|
||||||
super.pipeline(objectPipeline);
|
super.pipeline(objectPipeline);
|
||||||
for (Class pageModel : pageModels) {
|
if (pageModelPipeline!=null){
|
||||||
this.objectPipeline.put(pageModel, pageModelPipeline);
|
for (Class pageModel : pageModels) {
|
||||||
|
this.objectPipeline.put(pageModel, pageModelPipeline);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static OOSpider create(Site site, Class... pageModels) {
|
public static OOSpider create(Site site, Class... pageModels) {
|
||||||
return new OOSpider(site, new ConsolePageModelPipeline(), pageModels);
|
return new OOSpider(site, null, pageModels);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static OOSpider create(Site site, PageModelPipeline pageModelPipeline, Class... pageModels) {
|
public static OOSpider create(Site site, PageModelPipeline pageModelPipeline, Class... pageModels) {
|
||||||
|
|
|
@ -35,14 +35,13 @@ public class ObjectPipeline implements Pipeline {
|
||||||
Object o = resultItems.get(classPageModelPipelineEntry.getKey().getCanonicalName());
|
Object o = resultItems.get(classPageModelPipelineEntry.getKey().getCanonicalName());
|
||||||
if (o != null) {
|
if (o != null) {
|
||||||
Annotation annotation = classPageModelPipelineEntry.getKey().getAnnotation(ExtractBy.class);
|
Annotation annotation = classPageModelPipelineEntry.getKey().getAnnotation(ExtractBy.class);
|
||||||
ExtractBy extractBy = (ExtractBy) annotation;
|
if (annotation == null || !((ExtractBy) annotation).multi()) {
|
||||||
if (extractBy.multi()) {
|
classPageModelPipelineEntry.getValue().process(o, task);
|
||||||
|
} else {
|
||||||
List<Object> list = (List<Object>) o;
|
List<Object> list = (List<Object>) o;
|
||||||
for (Object o1 : list) {
|
for (Object o1 : list) {
|
||||||
classPageModelPipelineEntry.getValue().process(o1, task);
|
classPageModelPipelineEntry.getValue().process(o1, task);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
classPageModelPipelineEntry.getValue().process(o, task);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue