Nutch-1.0配置

在Nutch的安装目录中建立一个名为myurl的文本文件,文件中写入要抓取网站的顶级网址,即要抓取的起始页。
以我要抓取的网页为例,输入:
注意:最后一个“/”和conf/crawl-urlfilter.txt中的内容统一。
   二更改配置文件 crawl-urlfilter.txt
编辑conf/crawl-urlfilter.txt文件,修改MY.DOMAIN.NAME部分,把它替换为你想要抓取的域名(地址),即把
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*/.)*MY.DOMAIN.NAME/
修改为:
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*/.)*hitwh.edu.cn /
   三运行 crawl 命令抓取网站内容
      运行的命令
· -dir  dir names           设置保存所抓取网页的目录.
· -depth  depth            表明抓取网页的层次深度
· -delay  delay            表明访问不同主机的延时,单位为“秒”
            · -threads  threads       表明需要启动的线程
        修改 conf/nutch-site.xml
<configuration>
        <property>
                <name>http.agent.name</name>
                <value>HD nutch agent</value>
        </property>
        <property>
                <name>http.agent.version</name>
                <value>1.0</value>
        </property>
</configuration>

如果没有配置此agent,爬取时会出现 Agent name not configured! 的错误。
     实际使用
改变当前工作区为nutch安装目录,运行以下命令行:
           bin/nutch crawl myurl -dir mydir -depth 2 -threads 4 >&logs/logs1.log
        在上述命令的参数中,myurl 就是刚才我们创建的那个文件,存放我们要抓取的网址,dir指定抓取内容所存放的目录,depth表示以要抓取网站顶级网址为起点的爬行深度, threads指定并发的线程数。最后的logs/logs1.log表示把显示的内容保存在文件logs1.log中,以便分析程序的运行情况。
     如果mydir在运行前已存在,则运行时将报错:mydir already exist。建议先删除这个目录,或者指定其他的目录存放抓取的网页。

    四. Tomcat 中运行查看结果
如果已经抓取成功,则可以在Tomcat上部署了
复制nutch-1.0war到tomcat目录/webapps
       修改 /webapps/nutch/WEB-INF/classes/nutch-site.xml :
<nutch-conf>
</nutch-conf>
换成
<nutch-conf>
<property>
        <name>searcher.dir</name>
        <value>Your_crawl_dir_path</value>
</property>
</nutch-conf>

Your_crawl_dir_path 指刚才抓取网页时网页保存的文件夹,比如我的就是:/home/xusai/nutch-1.0/mydir


最后在浏览器中输入 http://localhost:8080/nutch-1.0

就可以看到nutch的搜索界面了。

这时候的nutch在搜索时可能会出现中文乱码,其实这是tomcat的问题。

解决办法:对/tomcat/apache-tomcat-6.0.20/conf 目录下的server.xml做一下修改:

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

改为

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
           URIEncoding="UTF-8"
           useBodyEncodingForURI="true"/>

然后重启tomcat即可。必要时可以用sudo命令重启tomcat。

 

ps:今天在给同学配置tomcat的时候出现了一点小问题:jdk安好了,用java -version可以看到设置的就是sun的jdk1.6.0_16,甚至nutch的都可以正常抓取了,但是tomcat仍然提示JAVA_HOME没有设置,这个问题的解决办法是在Tomcat的/bin/catalina.sh文件的最前面添加:

JAVA_HOME="/usr/lib/jvm/java/jdk1.6.0_16",这样以后就可以正常显示tomcat的小猫了。

还有一点疑问:我自己再配的时候并没有改动tomcat的这个文件,怎么也成功了呢??纠结。。。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值