Heritrix扩展和定制的配置操作

来源:互联网 发布:utc行家怎么样知乎 编辑:程序博客网 时间:2024/04/29 04:41

sorry,对于前面发表的《MyEclipse下配置Heritrix的开发环境》,这个配置最初我只是检验到在MyEclipse可以运行,但是后来在  WebUI建立JOB,配置简单任务运行时,在进入module配置页,发现所有的配置可以删除,移动,但是不可以添加和修改,没有可选的下拉框。

最后网上查找原因是:配置文件找不到,应该在classpath标签页添加配置文件的路径,但是我最后没搞出来,最后想的办法是:

 1、在MyEclipse下先把自己的类建好。如在src目录下建一个包my/postprocessor创建下面这个类:

 

package my.postprocessor;

import java.util.logging.Logger;

import org.archive.crawler.datamodel.CandidateURI;
import org.archive.crawler.postprocessor.FrontierScheduler;

public class FrontierSchedulerForPconlineMobile extends FrontierScheduler {
private static Logger LOGGER = Logger.getLogger(FrontierSchedulerForPconlineMobile.class.getName());
 
 //构造函数
 public FrontierSchedulerForPconlineMobile(String name) {
  super(name);
 }

 protected void schedule(CandidateURI caUri){
  //取得URL的字符串
  String url = caUri.toString();
  
  try{
   //URL选择策略
   if(url.indexOf("product.pconline.com.cn/mobile/") != -1
     || url.indexOf("img.pconline.com.cn") != -1
     || url.indexOf("robots.txt") != -1
     || url.indexOf("dns:") != -1){
    getController().getFrontier().schedule(caUri);
   }else{
    return;
   }
  }catch(Exception e){
   e.printStackTrace();
  }finally{
   
  }
 }
}

 2、然后解压heritrix-1.12.1下的heritrix-1.12.1.jar,如:c:/temp/

 3、把myeclipse中heritrix项目下bin目录下的my整个文件夹拷贝到解压后的目录下如:c:/temp/

4、修改modules文件夹下的Processor.options文件,添加如下代码:

  ...

org.archive.crawler.writer.ExperimentalV10WARCWriterProcessor|V10WARCArchiver
org.archive.crawler.writer.ExperimentalWARCWriterProcessor|WARCArchiver
org.archive.crawler.writer.Kw3WriterProcessor|Kw3Archiver
org.archive.crawler.writer.MirrorWriterProcessor|MirrorWriter
org.archive.crawler.postprocessor.CrawlStateUpdater|Updater
org.archive.crawler.postprocessor.LinksScoper|LinksScoper
org.archive.crawler.postprocessor.SupplementaryLinksScoper|SupplementaryLinksScoper
org.archive.crawler.postprocessor.FrontierScheduler|FrontierScheduler
my.postprocessor.FrontierSchedulerForPconlineMobile|FrontierSchedulerForPconlineMobile
org.archive.crawler.postprocessor.LowDiskPauseProcessor|LowDiskPause
org.archive.crawler.postprocessor.WaitEvaluator|WaitEvaluator
org.archive.crawler.postprocessor.ContentBasedWaitEvaluator|ContentBasedWaitEvaluator
org.archive.crawler.postprocessor.TextWaitEvaluator|TextWaitEvaluator
org.archive.crawler.postprocessor.ImageWaitEvaluator|ImageWaitEvaluator
...

注意添加位置。

然后重新压缩。再替换掉原来的那个,后面的配置可根据另外一篇文章“Hertitrix配置篇"。

昨夜配好,今天可以抓取,不过总感觉这不是很佳的方法,如果有谁知道如何在IDE环境下配置,请告知,在此先谢了!