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