博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

我有一个梦想

zhongzhouxian.cublog.cn


站内搜索引擎Nutch配置全过程(ubuntu)
下载:
可以去Apache的官方网页http://www.apache.org/dyn/closer.cgi/lucene/nutch/ 下载最新版的Nutch,目前最新版是nutch-0.9,65M大小。
解压缩进入bin/就能用
Nutch是用java写的一个开源项目,所以要使它正常运行必须安装JDK(也为了能修改nutch),Java 1.4.x以上版本,设置环境变量NUTCH_JAVA_HOME为java虚拟机的安装目录。
此外,还必须安装Apache's Tomcat 4.x 以上版本。
最后,想得到较好的运行效果,必须有至少1G的剩余空间和一个网速较快的网络。
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]*\.)*sdau.edu.cn /
运行 crawl命令抓取网站内容
     运行的命令

·-dir  dirnames      设置保存所抓取网页的目录.
·-depth  depth   表明抓取网页的层次深度
·-delay  delay    表明访问不同主机的延时,单位为“秒”
·-threads  threads      表明需要启动的线程数
    实际使用
改变当前工作区为nutch安装目录,运行以下命令行:
           bin/nutch crawl myurl -dir mydir -depth 2 -threads 4 >&logs/logs1.log
       在上述命令的参数中,myurl 就是刚才我们创建的那个文件,存放我们要抓取的网址,dir指定抓取内容所存放的目录,depth表示以要抓取网站顶级网址为起点的爬行深度, threads指定并发的线程数。最后的logs/logs1.log表示把显示的内容保存在文件logs1.log中,以便分析程序的运行情况。
   
   
1. 如果mydir在运行前已存在,则运行时将报错:mydir already exist。建议先删除这个目录,或者指定其他的目录存放抓取的网页。
       修改 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! 的错误。

四.Tomcat中运行查看结果(在Windows下部署成功,但是在LInux下总是出错)
如果已经抓取成功,则可以在Tomcat上部署了
复制nutch.0.9.war到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指刚才抓取网页时网页保存的文件夹,比如我的就是:/usr/locla/mutch-0.9/bin/mydir
最后在浏览器中输入 http://localhost:8080 /mutch-0.9
输入:机构设置
1-6项 (共有 31 项查询结果):

山东农业大学
... 学       学校概况 招生就业 人 ... 河农场     学院 ...
http://www.sdau.edu.cn/sdau2005/department.html (网页快照) (评分详解) (anchors) (more from www.sdau.edu.cn)

山东农业大学
... 学       学校概况 招生就业 人 ... 介   校史沿革   ...
http://www.sdau.edu.cn/sdau2005/gk3.html (网页快照) (评分详解) (anchors) (more from www.sdau.edu.cn)

山东农业大学学科建设研讨会发言摘要(五)
... 与学位点建的经验与建 ... 学院学科建的主要经验 ...
http://weekly.sdau.edu.cn/html2006/2006/xbzl/2007_13_29_6940.htm (网页快照) (评分详解) (anchors) (more from weekly.sdau.edu.cn)

山东农业大学精品课程建设
... 的申报受理,接受各省、教 ... 精品课程建 ...
http://jpkc.sdau.edu.cn/2004-5-12.html (网页快照) (评分详解) (anchors)

电子版文章列表――山东农大报欢迎您
... 年7月5日 关党委被评 ... 加强学风建和当前工作 ...
http://weekly.sdau.edu.cn/html2006/2006/xxyw/index.htm (网页快照) (评分详解) (anchors) (more from weekly.sdau.edu.cn)


此时tomcat可能出现乱码,请见我的博客zhongzhouxian.cublog.cn解决toncat乱码

如果有问题,留言。我也是在网上找了许多实现的
现在,我着还有小错误,并想实现定时索引,望高手赐教

发表于: 2007-08-29 ,修改于: 2007-08-29 17:33,已浏览2098次,有评论4条 推荐 投诉


网友评论
内容:
我在windows下已经运行成功,只有个别的网站搜索出来标题会乱码,正在研究中。。。但是我在linux下运行时,出现网页快照乱码!很郁闷,正在想办法!有兴趣可以加我qq啊,517594331
本站网友评论于:2007-09-14 16:10:51 (218.108.29.★)
内容:
http://localhost:8080/mutch-0.9展现搜索界面,但是输入关键字后,没有搜索到任何结果,为什么啊?
本站网友评论于:2007-10-31 10:32:46 (221.200.48.★)
内容:
呵呵,遇到了相同的问题。
本站网友评论于:2008-03-16 20:08:32 (124.115.173.★)
内容:
呵呵,终于搜出结果了!
我的问题也出在可以打开http://localhost:8080/nutch展现搜索界面,但是输入关键字后,显示搜索到0个结

果。
我刚没怎么改,只是把一些地方又从新设置了一遍,以下是我修改过的地方
1.打开D:\Soft\Tomcat60\webapps\nutch\WEB-INF\classes\nutch-site.xml文件,用nutch-default.xml文件

中的内容覆盖掉nutch-site.xml中的内容,
2.然后找到nutch-site文件中的searcher.dir项,将它的value值改成 D:\soft\nutch09\crawled\ ,即刚才抓

取结果存放的位置;
3.找到http.agent.name属性,value值改成Nutch;4.找到http.robots.agents属性,value值改成Nutch,*;
5.找到 http.agent.description属性,value值改成Nutch Search Engineer;
6.找到http.agent.url属性,value值改成http://lucene.apache.org/nutch/bot.html;
7.找到http.agent.email属性,value值改成nutch-agent@lucene.apache.org;
8.找到http.agent.version属性,value值改成Nutch-0.9

9、在D:\Soft\Tomcat60\webapps\nutch\zh\include下面新建header.jsp,把header.html文件中的内容粘贴过

来,并在header.jsp最顶端添加以下内容:<%@ page contentType="text/html; charset=UTF-8" 

pageEncoding="UTF-8"%>,
10.打开D:\Soft\Tomcat60\webapps\nutch\search.jsp文件,将<jsp:include page="<%= language + 

"/include/header.html"%>"/>此行中的header.html改成header.jsp,
11.将函数queryfocus()中的代码注释掉

步骤太多,而且很繁琐,因为我并不明白问题到底出在什么地方,今天刚开始学习,但不管怎样出结果了,晚上也可以睡得着了!呵呵,大家互相帮助,共同进步,另外,也希望高人多多指点!
本站网友评论于:2008-03-16 21:11:57 (124.115.173.★)

发表评论