当前位置: 首页 > 工具软件 > Heritrix > 使用案例 >

Heritrix-1.14.4

申自明
2023-12-01

建立新java工程,MyHeritrix。


解压缩heritrix-1.14.4-src.zip
1、复制 heritrix-1.14.4-src\src\java\目录下的 com,org,st 这三个文件夹到工程的src目录下
2、复制 heritrix-1.14.4-src\lib目录,到工程的根目录下,跟src同级,并且添加到classpath中.选择工程中所有jar,单击右键,Build Path,Add To Build Path.
3、修改java complier,把error改成warnning,解决Heritrix.java文件报错的方法。
4、复制heritrix-1.14.4-src\src\conf目录至工程的根目录下,跟src同级,并且修改heritrix.properties  jmxremote.password.template文件
    4.1 复制jmxremote.password.template到同级目录,改名为jmxremote.password,修改monitorRole  @PASSWORD@  controlRole  @PASSWORD@为monitorRole  admin controlRole  admin
    4.2 修改heritrix.properties,其中 heritrix.version = @VERSION@改为 heritrix.version = 1.14.4     修改 heritrix.cmdline.admin = 为heritrix.cmdline.admin = admin:admin  修改heritrix.cmdline.port = 8080为 heritrix.cmdline.port = 9090
5、复制heritrix-1.14.4-src\src\webapps 目录至工程的根目录
6、复制heritrix-1.14.4-src\src\resources\org\archive\util\tlds-alpha-by-domain.txt至org.archive.util目录下
7、复制heritrix-1.14.4\webapps\admin.war文件至webapps下
8、加载conf文件到run 中classpath里面,点击项目邮件,选择Run As ,Run Configurations..,选择classpath标签,选择User Entries...,选择右边advanced,选择add Folders,选择MyHeritrix工程下的conf目录,点击ok
myeclipse中打开/MyHeritrix/src/org/archive/crawler/Heritrix.java,点击文件运行。http://localhost:9090/ 即可访问。




删除webapps目录下的amin,selftest两个目录
删除conf目录,把conf目录下所有文件复制到工程src目录下




主题抓取,扩展FrontierScheduler
打开org.archive.crawler.postprocessor.FrontierScheduler文件;


    protected void schedule(CandidateURI caUri) {
        getController().getFrontier().schedule(caUri);
    }
    
    修改为
    protected void schedule(CandidateURI caUri) {
    System.out.println("##############caUri:"+caUri.toString());
        getController().getFrontier().schedule(caUri);
    }
   启动工程,进入页面
   选择jobs,Create New Job With defaults,
   Name of new job:sohu
   Description:news
   Seeds:http://news.sohu.com/1/0903/62/subject212846267.shtml
   
   Modules,选择Available alternatives: BroadScope,  点击change按钮
   
   Select Writers Processors that write documents to archive files


 org.archive.crawler.writer.ARCWriterProcessor   点击remove按钮
 
 选择org.archive.crawler.writer.MirrorWriterProcessor,点击add按钮
 
 点击最下面Settings文字按钮
 
 找到 user-agent:项,修改Mozilla/5.0 (compatible; heritrix/@VERSION@ +PROJECT_URL_HERE)为
Mozilla/5.0 (compatible; heritrix/1.14.4 +http://192.168.99.107)


PROJECT_URL_HERE(本机的ip地址)


找到from: 修改 CONTACT_EMAIL_ADDRESS_HERE为合法的email地址  如: 58852168@qq.com


点击最下面 Submit job


进入console控制台,点击之前创建的任务,点击start,  看到控制台的输出之后,可以停止项目。


结果:可以看到MyHeritrix\jobs\sohu-20160721124134677产生。


在org.archive.crawler.postprocessor目录下,新建MyFrontierScheduler继承FrontierScheduler
代码如下:
package org.archive.crawler.postprocessor;


import org.archive.crawler.datamodel.CandidateURI;


public class MyFrontierScheduler extends FrontierScheduler {

private static final long serialVersionUID = -9024635007361482912L;


public MyFrontierScheduler(String name) {
super(name);
}


    protected void schedule(CandidateURI caUri) {
    //System.out.println("##############caUri:"+caUri.toString());
    if(caUri.toString().contains("news")){
    getController().getFrontier().schedule(caUri);
    }
        
    }
}


打开src/modules目录下的Processor.options文件,找到 org.archive.crawler.postprocessor.FrontierScheduler|FrontierScheduler这一行,
复制这一行,修改为org.archive.crawler.postprocessor.MyFrontierScheduler|MyFrontierScheduler
把新加的类配置到文件中。
启动
进入jobs标签,选择 based on existiing job,可以看到之前停止的任务。点击这个任务。


进入modules,找到 Select Post Processors Processors,  org.archive.crawler.postprocessor.FrontierScheduler点击remove。
在选项内选择org.archive.crawler.postprocessor.MyFrontierScheduler,点击add
点击最下面Submit job
选择控制台标签,Crawler Status: HOLDING JOBS | Start, 点击start。


    


 类似资料:

相关阅读

相关文章

相关问答