一直留意Lucene,Nutch的进展,最近这两个项目都发展得非常快,Lucne已发展到 2.1,Nutch已发展到 0.9,改进了很多,令人欣喜。
今天小试了一下Nutch-0.9,笔记如下:
1、解压Nutch包,在Nutch根目录下建目录urls,里面建一些包含URL的文本如urlt.txt,一行一个URL,内容如:http://www.blogjava.net
http://www.iteye.com/
2、修改conf目录下的 crawl-urlfilter.txt,片断如下:
# accept hosts in MY.DOMAIN.NAME
# +^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
+^http://www.blogjava.net/
+^http://www.iteye.com/
+^http://lucene.apache.org/
3、修改conf目录下的 nutch-site.xml,内容如下:
<?
xml version="1.0"
?>
<?
xml-stylesheet type="text/xsl" href="configuration.xsl"
?>

<!--
Put site-specific property overrides in this file.
-->

<
configuration
>

<
property
>
<
name
>
http.agent.name
</
name
>
<
value
>
Nutch
</
value
>
<
description
>
HTTP 'User-Agent' request header. MUST NOT be empty -
please set this to a single word uniquely related to your organization.

NOTE: You should also check other related properties:

http.robots.agents
http.agent.description
http.agent.url
http.agent.email
http.agent.version

and set their values appropriately.

</
description
>
</
property
>

<
property
>
<
name
>
http.robots.agents
</
name
>
<
value
>
Nutch,*
</
value
>
<
description
>
The agent strings we'll look for in robots.txt files,
comma-separated, in decreasing order of precedence. You should
put the value of http.agent.name as the first agent name, and keep the
default * at the end of the list. E.g.: BlurflDev,Blurfl,*
</
description
>
</
property
>

<
property
>
<
name
>
http.agent.description
</
name
>
<
value
>
Nutch Search Engineer
</
value
>
<
description
>
Further description of our bot- this text is used in
the User-Agent header. It appears in parenthesis after the agent name.
</
description
>
</
property
>

<
property
>
<
name
>
http.agent.url
</
name
>
<
value
>
http://lucene.apache.org/nutch/bot.html
</
value
>
<
description
>
A URL to advertise in the User-Agent header. This will
appear in parenthesis after the agent name. Custom dictates that this
should be a URL of a page explaining the purpose and behavior of this
crawler.
</
description
>
</
property
>

<
property
>
<
name
>
http.agent.email
</
name
>
<
value
>
nutch-agent@lucene.apache.org
</
value
>
<
description
>
An email address to advertise in the HTTP 'From' request
header and User-Agent header. A good practice is to mangle this
address (e.g. 'info at example dot com') to avoid spamming.
</
description
>
</
property
>

</
configuration
>
注意:在nutch-0.9.jar里面已包含nutch-site.xml, conf目录下的文件都复制过到classpath根下,如果是在WEB环境下运行classpath下的nutch-site.xml会优先加载,如果在在Application环境运行,应把如上nutch-site.xml打入到nutch-0.9.jar包里,否则,上面的一些属性为空不能运行。
4、在Windows下运行Nutch,很简单,只要你能执行Crawl这个类就行,写一个Ant脚本放在Nuthc的根目录下执行它就OK,内容如下:
<
project
name
="nutch-crawl"
default
="crawl"
basedir
="."
>
<
property
name
="lib.dir"
location
="lib"
/>
<
property
name
="conf.dir"
location
="conf"
/>

<
path
id
="project.classpath"
>
<
fileset
dir
="."
includes
="nutch-*.jar"
/>
<
fileset
dir
="lib"
/>
<
pathelement
path
="."
/>
<
pathelement
path
="${conf.dir}"
/>
</
path
>
<
target
name
="crawl"
>
<
echo
>
crwaling starting
</
echo
>
<
property
name
="JVM.extra.args"
value
="-Xmx512m"
/>
<
java
classname
="org.apache.nutch.crawl.Crawl"
classpathref
="project.classpath"
fork
="true"
>
<
jvmarg
line
="${JVM.extra.args}"
/>
<
arg
value
="C:/dev-tools/nutch-0.9/urls"
/>
<
arg
value
="-dir"
/>
<
arg
value
="C:/dev-tools/nutch-0.9/crawl"
/>
<
arg
value
="-depth"
/>
<
arg
value
="3"
/>
<
arg
value
="-threads"
/>
<
arg
value
="15"
/>
</
java
>
<
echo
>
crwaling finished
</
echo
>
</
target
>
</
project
>
至此,如无意外,Nutch已经欢快地运行起来,最后在crawl目录下你会发现你想要的东西,Enjoy it!
今天小试了一下Nutch-0.9,笔记如下:
1、解压Nutch包,在Nutch根目录下建目录urls,里面建一些包含URL的文本如urlt.txt,一行一个URL,内容如:http://www.blogjava.net
http://www.iteye.com/
2、修改conf目录下的 crawl-urlfilter.txt,片断如下:
# accept hosts in MY.DOMAIN.NAME
# +^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
+^http://www.blogjava.net/
+^http://www.iteye.com/
+^http://lucene.apache.org/
3、修改conf目录下的 nutch-site.xml,内容如下:

































































注意:在nutch-0.9.jar里面已包含nutch-site.xml, conf目录下的文件都复制过到classpath根下,如果是在WEB环境下运行classpath下的nutch-site.xml会优先加载,如果在在Application环境运行,应把如上nutch-site.xml打入到nutch-0.9.jar包里,否则,上面的一些属性为空不能运行。
4、在Windows下运行Nutch,很简单,只要你能执行Crawl这个类就行,写一个Ant脚本放在Nuthc的根目录下执行它就OK,内容如下:

































至此,如无意外,Nutch已经欢快地运行起来,最后在crawl目录下你会发现你想要的东西,Enjoy it!
