Nutch 笔记

来源:互联网 发布:淘宝内部券怎样赚佣金 编辑:程序博客网 时间:2024/06/02 05:25

一.安装

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