Linux 下 Nutch的安装和使用

一、背景介绍

 Nutch 是一个基于 Lucene 的开源的全文检索引擎工具,它含有网络爬虫的部分。Lucene为 Nutch 提供了文本索引和搜索的API。

问题 :我应该使用Lucene还是Nutch?
回答 :如果你不需要到别的网站上抓取数据的话,应该使用 Lucene。常见的应用场合是:你有数据源,需要为这些数据提供一个搜索页面。在这种情况下,最好的方式是直接从数据库中取出数据并用Lucene API建立索引。Nutch 适用于你无法直接获取其他网站的数据库数据,或者比较分散的数据源的情况下使用。利用Nutch提供的爬虫功能,抓取指定站点的信息作为数据源给建立索引使用。

二、安装步骤

前提是你的机器上已经安装了 JDK 和 tomcat

1、下载 Nutch安装包。最新版本是nutch-1.0.tar.gz
下载地址: http://apache.etoak.com/lucene/nutch/

2、解压 nutch-1.0.tar.gz
$ tar -zxvf nutch-1.0.tar.gz
$ cd nutch-1.0

到此,已经安装结束,你可以运行 
nutch-1.0 $ bin/nutch
查看 nutch 提供的所有命令

以下是 Nutch的使用演示(我用爬虫爬取的网站是 http://blog.ossxp.com)

1、指定待爬的站点
在nutch根目录下创建 urls 文件,写入待爬取的站点 http://blog.ossxp.com
nutch-1.0$ cat urls
http://blog.ossxp.com

2、 配置爬虫的URL过滤器,编辑文件 conf/crawl-urlfilter.txt
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)* ossxp.com /

说明:粗体部分是修改的内容

3、编辑 conf/nutch-site.xml,配置爬虫的属性值
<configuration>

<property>
  <name>http.agent.name</name>
  <value> ossxp </value>
  <description>HTTP 'User-Agent' request header. MUST NOT be empty -
  please set this to a single word uniquely related to your organization.

  NOTE: You should also check other related properties:

  http.robots.agents
  http.agent.description
  http.agent.url
  http.agent.email
  http.agent.version

  and set their values appropriately.

  </description>
</property>

</configuration>

说明:<property></property>之间的内容可以从 conf/nutch-default.xml 文件中复制,其中加粗地方是用户自己添加的。这里的设置是因为Nutch 遵守了robots 协议,在获取response 时,把自己的相关信息提交给被爬行的网站,以供识别,所以设置成任何你喜欢的值都可以的。

4、开始爬取数据
nutch-1.0 $ bin/nutch crawl urls -dir ossxp -depth 4 -threads 4

说明: urls 为指定抓取站点的文件
          -dir 指定存放抓取数据的目录
          -depth 指定抓取网页的深度
          -threads 指定开启爬虫的线程数

5、测试抓取是否成功
将nutch-1.0目录下的nutch-1.0.war文件复制到tomcat webapps目录下,并配置nutch

nutch-1.0$ sudo cp nutch-1.0.war /var/lib/tomcat6/webapps
$ cd /var/lib/tomcat6/webapps/nutch1.0
$ sudo vi WEB-INF/classes/nutch-site.xml
<property>
  <name>searcher.dir</name>
  <value> /path/to/dir </value>
</property>

说明:粗体部分是需要修改的内容,在这里写入你存放爬虫爬取数据的目录,在本示例中即 ossxp的绝对路径

6、为了支持中文,需要修改tomcat的配置文件 /etc/tomcat6/server.xml
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
                URIEncoding="UTF-8 "/>

说明:粗体部分是添加的内容

7、重启tomcat,在浏览器输入 http://localhost:8080/nutch-1.0 按回车键即可进入搜索界面,输入关键字后点击“搜索”,即可看到搜索结果的页面

至此,Nutch的安装以及使用已经介绍完毕。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值