Nutch 笔记 - IdeaGrace | Java文栏 | Open Source,IdeaGrace,web,开发,技术,交流,教程 - http://www.ideagrace.com/
关键字: nutch
最近用到了nutch,目的是针对指定的一些网站抓取其内容,然后做分析用。
nutch 笔记是我使用nutch过程一系列总结,写下自己的学习经过和大家一起分享,也希望能得到大家的指点
好了,废话少说,言归正传,第一篇:Quick Start,我们的目标是快速的能跑起来,能检索出我们想要的结果。
首先要明白nutch是什么?
nutch是一个基于lucene的开源搜索引擎,它包括了所有你想要的东西,是一个完整的解决方案 。
一:安装JDK
如果你已经安装了JDK,并且已经设置了JAVA_HOME,那么跳过这一步
安装jdk
代码
sudo apt-get install sun-java5-jdk
或者从sun公司网站下载bin文件执行安装
设置了JAVA_HOME
代码
在最后面增加
代码
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
export PATH=$PATH:$JAVA_HOME/bin
二:下载nutch的最新版本nutch0.8.1
代码
wget http://apache.justdn.org/lucene/nutch/nutch-0.8.1.tar.gz
释放下来即可
代码
tar zxvf nutch-0.8.1.tar.gz
三:抓取页面
增加url
代码
cd nutch-0.8.1
mkdir urls
echo http://www.xici.net>>urls/xici
编辑conf/crawl-urlfilter.txt,修改MY.DOMAIN.NAME为
代码
+^http://([a-z0-9]*\.)*xici.net/
修改conf/nutch-site.xml,增加http.agent.name值
代码
<property>
<name>http.agent.name</name>
<value>test/unique</value>
</property>
执行bin/nutch crawl开始抓取页面
代码
sudo bin/nutch crawl urls -dir crawl -depth 5 -topN 50&
这个过程需要等待一些时间
三:检索
安装tomcat,我们使用apache网站上的包
代码
cd ..
wget http://mirror.vmmatrix.net/apache/tomcat/tomcat-5/v5.5.20/bin/apache-tomcat-5.5.20.tar.gz
tar zxvf apache-tomcat-5.5.20.tar.gz
将nutch自带的war文件拷贝到webapps下面
代码
rm -rf apache-tomcat-5.5.20/webapps/ROOT*
cp nutch-0.8.1/nutch*.war apache-tomcat-5.5.20/webapps/ROOT.war
运行tomcat,如果不设定nutch-site.xml的searcher.dir的值,则需要在crawl目录下面执行
代码
sudo ${TOMCAT的目录}/bin/startup.sh
我们也可以设定nutch-site.xml的searcher.dir的值
代码
sudo vi ${TOMCAT的目录}/webapps/ROOT/WEB-INF/classes/nutch-site.xml
增加
代码
<property>
<name>searcher.dir</name>
<value>/home/martin/doc/nutch-0.8.1/crawl</value>
</property>
四:中文乱码
修改tomcat的server.xml,在Connector的tag最后增加
代码
五:截图

-----------------------
nutch site:http://lucene.apache.org/nutch
nutch wiki:http://wiki.apache.org/nutch/
Nutch 笔记(二):Craw more urls and Recrawl
关键字: nutch
一:Recrawl
nutch wiki上有现成的script,我们只需要拿来用用即可
http://wiki.apache.org/nutch/IntranetRecrawl#head-e58e25a0b9530bb6fcdfb282fd27a207fc0aff03
把它放在nutch-0.8.1/bin/recrawl.sh
代码
martin@martinx:~/workspace/doc/nutch-0.8.1$ sudo bin/recrawl.sh ../tomcat5/webap ps/ROOT xici/
10 1 5
wiki中对参数的说明已经很详细了,没有必要再多说了。这里有个参数../tomcat5/webap你可以看到脚本中只是
代码
touch $tomcat_dir/WEB-INF/web.xml
让tomcat重新加载webapp,如果你没有使用tomcat,只是crawl,你修改一下脚本,就把这个参数给去掉吧。
二:Crawl more urls and merge
我们上面只是抓取了一个xici的页面,但是我们的目标不仅仅是一个,而是一系列的,所有我们必须增加新的url进行抓取。
新增news.163.com
代码
mkdir url2
echo http://news.163.com>url2/163
重新执行我们上面提到的crawl
代码
martin@martinx:~/workspace/doc/nutch-0.8.1$ sudo bin/nutch crawl url2 -dir 163 -depth 10 -topN 50
note:
这个时间会很长,如果你愿意可以用别的资讯很少的网站代替
合并我们采用nutch wiki上的脚本http://wiki.apache.org/nutch/MergeCrawl保存到bin/mergecrawl.sh。
代码
martin@martinx:~/workspace/doc/nutch-0.8.1$ bin/mergecrawl.sh newpath 163/ xici/
传递的两个参数分别是两次crawl的目录
修改tomcat目录下的classes/nutch-site.xml文件,将searcher.dir修改为新的索引目录
代码
perl -pi -e 's|xici|newpath|' ../tomcat5/webapps/ROOT/WEB-INF/classes/nutch-site.xml
重新加载webapp
代码
touch ../tomcat5/webapps/ROOT/WEB-INF/web.xml
以下是截图
这个是163的

这个是xici的

喜欢本文?那就在线订阅更多文章更新吧!
加入技术论坛讨论
访问IdeaGrace开发者博客
浏览更多java开源项目
IdeaGrace开发者Wiki
更好的浏览体验,