1.准备:
本文使用如下版本的nutch和tomcat:
apache-nutch-1.2-bin.tar.gz
apache-tomcat-7.0.22.tar.gz
2.步骤:
(1)解压tar -xzvf apache-nutch-1.2-bin.tar.gz到指定目录,本文为/home/ncut/目录下
(2)在nutch-1.2目录下创建目录urls(可任意名)”mkdir urls“,在urls目录下创建文件url.txt(可任意名),"vim url.txt",输入要爬虫的入口地址:http://www.baidu.com
(3)打开nutch-1.2/conf/crawl-urlfilter.txt,定位到最后的MY.DOMAIN.NAME一行,将其改为实际的网址或者*,如为*则可爬取任意网站。
原来:+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
改为:+^http://([a-z0-9]*\.)*或者:+^http://([a-z0-9]*\.)*www.baidu.com
(4)打开nutch-1.2/conf/nutch-site.xml,加入下面内容
<configuration>
<property>
<name>http.agent.name</name>
<value>mynutch</value>这部分是必须的,可以是任意的名字
</property>
</configuration>
至此nutch的基本配置完成。
(5)开始爬取网页
bin/nutch crawl urls -dir crawl -depth 2 -topN 100 -threads 2
其中:
urls是爬取的入口地址
-dir = localweb 指明下载数据存放路径,该目录不存在时,会被自动创建
-deptch = 2 下载深度为2
-topN = 100 下载符合条件的前100个页面
-threads = 2 启动的线程数目
爬虫运行时会输出大量数据,抓取结束之后,可以发现crawl目录被生成,里面有crawldb,linkdb,segments,indexes 和 index 五个目录
(6)开始搜索测试
bin/nutch org.apache.nutch.searcher.NutchBean searchwors
其中searchwors是要搜索的关键字,返回搜索结果。
3.通过tomcat进行web搜索
(1)解压tar xzvf apache-tomcat-7.0.22.tar.gz包到指定目录
(2)将nutch-1.2中的nutch-1.2.war复制到tomcat目录下的webapps/中,tomcat在运行状态下会自动解压缩这个包,打开解压缩后的包,在文件/nutch-1.2/WEB-INF/classed/nutch-site.xml中加入:
<property>
<name>searcher.dir</name>
<value>/home/ncut/nutch-1.2/crawl</value>
</property>
这个value值为所爬取到的数据的存储路径,搜索引擎根据这个路径搜索到用户想要的内容。
(3)在Web上进行nutch搜索
在浏览器中输入http://localhost:8080/nutch-1.2,显示nutch的搜索界面。
在出现的搜索界面中填写搜索关键词,即可获得结果。
(4)乱码处理
如果出现乱码,则将tomcat安装目录下conf/server.xml定位到connector并修改一下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
useBodyEncodingForURI="true"/>