建立新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。
解压缩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。