一.安装
1.安装jdk;(这就不说了)。
2.安装cygwin,选择install frominternet->选择一个cygwin的安装文件夹->选择cygwin的下载文件夹->direct connection,(在这多取消几次,知道后面的许多网址都出现),然后选择一个带cygwin的网址安装。(弹出警告确定就行)。选包的时候,选develdefault展开,需要选择gcc-core(左边的循环箭头),gcc-g++,gcc-mingw-core,gcc-mingw-g++,binutils,gdb,make.
然后点击安装就可以成功安装了。
3.到nutch官网下个apache-nutch-1.2-bin.zip,解压到cygwin的安装目录下。
二.配置
1.配置nutch,打开安装cygwin安装时生成的快捷方式,cd进入nutch-1.2下面。一直用cd .. (我用了两次,注意cd和..之间要有空格)然后用 pwd和ls 命令查看,看到nutch-1.2后用cd nutch-1.2进入。
输入bin/nutch 出来nutch命令的一些选项提示 说明已成功一半。
修改nutch-1.2/conf/nutch-site.xml。加入
<configuration>
<property>
<name>http.agent.name</name>
<value>foxman</value>
<description></description>
</property>
</configuration>
修改nutch-1.2/conf/crawl-urlfilter.txt最后几行的代码修改成如下。(打开也许分不清楚倒数的行数,依照下面的样子该最后就行)指明我们抓取的网站是http://www.163.com/下的网站。
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*163.com/
# skip everything else
-.
在nutch-1.2下建立文件夹urls,然后在urls下面建立文件url.txt里面内容是http://www.163.com/ 注:你要抓取的网站
在cygwin中进入nutch-1.2目录执行
bin/nutchcrawl bin -dir crawl -depth 5 -threads 4 -topN 50 。
注:以上的爬去地址因为是后面不动,前面动,所以要加/,其实完全不是所有的都加,有些反而会出错,比如我的就是:
在url.txt中的是:http://en.wikipedia.org/wiki/Data_mining,后面绝对不能加/,在nutch-1.2/conf/crawl-urlfilter.txt中的设置是:
MY.DOMAIN.NAME
+^http://en.wikipedia.org/wiki/((\()?([a-z0-9A-Z])?(-)?(_)?(\))?)*$
# skip everything else-.
注意每一行和下一行之间不能有空格,这里的正则表达式不一定加/,网上有些人胡扯,正则表达式的测试网址是:http://www.zhongguosou.com/computer_question_tools/test_regex.aspx。
大概需要几分钟。
即在nutch-1.2目录下生成了crawl的文件夹。
2. 部署测试web应用
(1).将nutch解压包中的nutch-1.2.war拷贝到tomcat的webapps目录下,解压为名称为ROOT(主要是省去了根路径,修改时需要停止tomcat)
(2).修改索引文件所在路径,即刚才抓取时设置的路径修改/webapps/ROOT/WEB-INF/classes/nutch-site.xml
<configuration>
</configuration>
修改为
<configuration>
<property>
<name>searcher.dir</name>
<value>F:\cygwin\nutch1.2\bin\crawl</value>
</property>
</configuration>
(3).为支持中文检索(不设置的话中文将无法解析),修改tomcat配置文件.xml
<Connector port="8088"maxThreads="150" minSpareThreads="25"maxSpareThreads="75"enableLookups="false"
redirectPort="8443"acceptCount="100"connectionTimeout="20000"
disableUploadTimeout="true"
URIEncoding="UTF-8"useBodyEncodingForURI="true"/>
(4).启动tomcat,测试nutch搜索引擎,http://localhost:8080
3. 环境变量设置
(1).新建系统变量JAVA_HOME=F:\Program Files\Java\jdk1.6.0_24.
(2).在系统变量path后添加;F:\cygwin\bin(有分号就不用在前面加了)。
(3).在系统变量path后添加;%JAVA_HOME%\bin
(4).新建系统变量classpath,增加值.;%JAVA_HOME%\lib(注意开始是点号分号)。
(5).在classpath后增加; F:\Program Files\Apache Software Foundation\Tomcat 6.0\lib.
三.Nutch常用命令
bin/nutch crawl urls –dir crawl –depth 5 –threads4 –topN 50
topN为每层限制的数量。
bin/nutch readlinkdb crawl/linkdb -dumplinks
bin/nutch readseg -dumpcrawl/segments/20110914131300 segdb(可以在后面添加-nofetch,-nogenerate,-noparse –noparsedata –notext,这样就只弄出网页内容)。
bin/nutch readdb crawl/crawldb -stats