rename
parent
04a7fa037a
commit
a3a868f584
|
@ -18,7 +18,7 @@ import java.util.regex.Pattern;
|
|||
* @date: 13-8-1 <br>
|
||||
* Time: 下午8:46 <br>
|
||||
*/
|
||||
public class ObjectPageProcessor implements PageProcessor {
|
||||
public class ModelPageProcessor implements PageProcessor {
|
||||
|
||||
private List<PageModelExtractor> pageModelExtractorList = new ArrayList<PageModelExtractor>();
|
||||
|
||||
|
@ -26,16 +26,16 @@ public class ObjectPageProcessor implements PageProcessor {
|
|||
|
||||
private Set<Pattern> targetUrlPatterns = new HashSet<Pattern>();
|
||||
|
||||
public static ObjectPageProcessor create(Site site, Class... clazzs) {
|
||||
ObjectPageProcessor objectPageProcessor = new ObjectPageProcessor(site);
|
||||
public static ModelPageProcessor create(Site site, Class... clazzs) {
|
||||
ModelPageProcessor modelPageProcessor = new ModelPageProcessor(site);
|
||||
for (Class clazz : clazzs) {
|
||||
objectPageProcessor.addPageModel(clazz);
|
||||
modelPageProcessor.addPageModel(clazz);
|
||||
}
|
||||
return objectPageProcessor;
|
||||
return modelPageProcessor;
|
||||
}
|
||||
|
||||
|
||||
public ObjectPageProcessor addPageModel(Class clazz) {
|
||||
public ModelPageProcessor addPageModel(Class clazz) {
|
||||
PageModelExtractor pageModelExtractor = PageModelExtractor.create(clazz);
|
||||
targetUrlPatterns.addAll(pageModelExtractor.getTargetUrlPatterns());
|
||||
targetUrlPatterns.addAll(pageModelExtractor.getHelpUrlPatterns());
|
||||
|
@ -43,7 +43,7 @@ public class ObjectPageProcessor implements PageProcessor {
|
|||
return this;
|
||||
}
|
||||
|
||||
private ObjectPageProcessor(Site site) {
|
||||
private ModelPageProcessor(Site site) {
|
||||
this.site = site;
|
||||
}
|
||||
|
|
@ -14,14 +14,14 @@ import java.util.concurrent.ConcurrentHashMap;
|
|||
* @date: 13-8-2 <br>
|
||||
* Time: 上午10:47 <br>
|
||||
*/
|
||||
public class ObjectPipeline implements Pipeline {
|
||||
public class ModelPipeline implements Pipeline {
|
||||
|
||||
private Map<Class, PageModelPipeline> pageModelPipelines = new ConcurrentHashMap<Class, PageModelPipeline>();
|
||||
|
||||
public ObjectPipeline() {
|
||||
public ModelPipeline() {
|
||||
}
|
||||
|
||||
public ObjectPipeline put(Class clazz, PageModelPipeline pageModelPipeline) {
|
||||
public ModelPipeline put(Class clazz, PageModelPipeline pageModelPipeline) {
|
||||
pageModelPipelines.put(clazz, pageModelPipeline);
|
||||
return this;
|
||||
}
|
|
@ -15,22 +15,22 @@ public class OOSpider extends Spider {
|
|||
*
|
||||
* @param pageProcessor 已定义的抽取规则
|
||||
*/
|
||||
private ObjectPageProcessor objectPageProcessor;
|
||||
private ModelPageProcessor modelPageProcessor;
|
||||
|
||||
private ObjectPipeline objectPipeline;
|
||||
private ModelPipeline modelPipeline;
|
||||
|
||||
protected OOSpider(ObjectPageProcessor objectPageProcessor) {
|
||||
super(objectPageProcessor);
|
||||
this.objectPageProcessor = objectPageProcessor;
|
||||
protected OOSpider(ModelPageProcessor modelPageProcessor) {
|
||||
super(modelPageProcessor);
|
||||
this.modelPageProcessor = modelPageProcessor;
|
||||
}
|
||||
|
||||
public OOSpider(Site site, PageModelPipeline pageModelPipeline, Class... pageModels) {
|
||||
this(ObjectPageProcessor.create(site, pageModels));
|
||||
this.objectPipeline = new ObjectPipeline();
|
||||
super.pipeline(objectPipeline);
|
||||
this(ModelPageProcessor.create(site, pageModels));
|
||||
this.modelPipeline = new ModelPipeline();
|
||||
super.pipeline(modelPipeline);
|
||||
if (pageModelPipeline!=null){
|
||||
for (Class pageModel : pageModels) {
|
||||
this.objectPipeline.put(pageModel, pageModelPipeline);
|
||||
this.modelPipeline.put(pageModel, pageModelPipeline);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -45,8 +45,8 @@ public class OOSpider extends Spider {
|
|||
|
||||
public OOSpider addPageModel(PageModelPipeline pageModelPipeline, Class... pageModels) {
|
||||
for (Class pageModel : pageModels) {
|
||||
objectPageProcessor.addPageModel(pageModel);
|
||||
objectPipeline.put(pageModel, pageModelPipeline);
|
||||
modelPageProcessor.addPageModel(pageModel);
|
||||
modelPipeline.put(pageModel, pageModelPipeline);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<html>
|
||||
<body>
|
||||
webmagic对抓取器编写的面向对象方式的封装。基于POJO(称为PageModel)及注解即可实现一个PageProcessor。
|
||||
webmagic对抓取器编写的面向模型(称为PageModel)的封装。基于POJO及注解即可实现一个PageProcessor。
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Reference in New Issue