`

nutch及常见问题 此文装载

阅读更多
nutch环境配置备忘:
1、Cygwin安装
    我使用的是Cygwin本地安装版,local install,并把所有组件都设为installed即可。
2、解压nutch
    将NUTCH-0.9解压后复制到HOME/Administrator下,或者在Cygwin下使用gunzip命令皆可。
3、安装JDK
    可能是我的系统最近不正常吧,我的JDK必须安装在nutch目录下才能找到(正确设置了环境变量,可是只要安装在其它位置,就找不到JDK,如果哪位能知道原因,请指教,非常感谢!)我这里的安装路径是:C:\cygwin\home\Administrator\nutch-0.9\JDK

环境变量设置如下:
JAVA_HOME     C:\cygwin\home\Administrator\nutch-0.9\JDK
CLASS_PATH  添加 ;C:\cygwin\home\Administrator\nutch-0.9\JDK\lib
NUTCH_JAVA_HOME  C:\cygwin\home\Administrator\nutch-0.9\JDK
PATH  添加   ;C:\cygwin\home\Administrator\nutch-0.9\JDK\bin

4、使用爬虫之前的准备
首先在bin目录下新建目录urls,在urls中新建一个文本文家nutch.txt,将要抓取的网站地址输入,比如http://www.sina.com.cn/(注意最后的/一定要有)

打开conf\crawl-urlfilter.txt文件,将
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/

改为
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*sina.com.cn/(这里也要有/呦)

打开nutch/conf/nutch-site.xml文件,修改<configuration></configuration>为:
<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>   

保存
5、开始爬
进入nutch目录,进入bin目录
$sh nutch crawl urls -dir sina -depth 4 -threads 5 -topN 1000 >&logs/log1.log
         crawl:通知nutch.jar,执行crawl的main方法。
         urls:存放需要爬行的url.txt文件的目录
         -dir sina 爬行后文件保存的位置
         -depth 2:爬行次数,或者成为深度,不过还是觉得次数更贴切,建议测试时改为1。
         -threads 指定并发的进程 这是设定为 4
         -topN :一个网站保存的最大页面数。
**注意sina文件夹不能存在,会报错

曾经出现的错误:
Generator: 0 records selected for fetching, exiting ...
Stopping at depth=0 - no more URLs to fetch.
No URLs to fetch - check your seed list and URL filters.
解决方法:在urls的nutch.txt中再添加一个URL即可,原因现在还不知道。

6、挂上服务器
当爬取网页成功之后,开始配置TOMCAT
TOMCAT的安装目录是:C:\Program Files\Apache Software Foundation\Tomcat 5.5

TOMCAT_HOME   C:\Program Files\Apache Software Foundation\Tomcat 5.5
CALSSPATH 添加: %TOMECAT_HOME%\bin;

在服务器关闭的状态下,删除TOMCAT中WEBAPPS文件夹中的ROOT文件夹,将nutch-0.9.war拷贝到webapps下,改名为ROOT.war,启动TOMCAT,会自动解压出ROOT文件。
修改/webapps/ROOT/WEB-INF/classes/nutch-site.xml:

    <configuration>
    </configuration>
    换成
    <configuration>
        <property>
            <name>searcher.dir</name>
            <value>C:\cygwin\home\Administrator\nutch-0.9\bin\dlut</value>
        </property>
    </configuration>   

为了支持中文需要修改tomcat的配置文件,打开tomcat\conf下的server.xml文件,将其中的Connector部分改成如下形式即可:
    
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                enableLookups="false"
                redirectPort="8443"
                acceptCount="100"
                connectionTimeout="20000"
                disableUploadTimeout="true"
                URIEncoding="UTF-8" useBodyEncodingForURI="true" />

    注意最后一行的两项是新加的.

利用tomcat搜索   
    重启tomcat,在浏览器中输入:http://127.0.0.1:8080
    出现nutch搜索界面,
    在搜索框中输入java并搜索,将看到你的搜索结果


***曾经出现的错误
org.apache.jasper.JasperException: /search.jsp(151,22) Attribute value  language + "/include/header.html" is quoted with " which must be escaped when used within the value
这个错误困扰了我很长时间,后来在http://news.skelter.net/articles/2008/09/24/nutch-0-9-quoted-with-must-be-escaped
找到解答
解决方法是:把search.jsp的第151行改成
<jsp:include page="<%= language + \"/include/header.html\"%>"/>
就是在                            ^  添加一个\
之后就正常了。作者说可能是TOMCAT6的特殊问题,可我用TOMCAT5.5~~~不过确实解决了。

******************问题解决了的华丽的分割线********************
****引自http://blog.sina.com.cn/s/blog_4cc16fc50100bqxe.html****
分析:查看nutch Web应用根目录下的search.jsp可知,是引号匹配的问题。
<jsp:include page="<%= language + "/include/header.html"%>"/>  //line 152 search.jsp
第一个引号和后面第一个出现的引号进行匹配,而不是和这一行最后一个引号进行匹配,所以问题就出现了。
解决方法:
将该行代码修改为:<jsp:include page="<%= language+urlsuffix %>"/>
这里我们定一个字符串urlsuffix,我们把它定义在language字符串定义之后,
  String language =   // line 116 search.jsp
    ResourceBundle.getBundle("org.nutch.jsp.search", request.getLocale())
    .getLocale().getLanguage();
String urlsuffix="/include/header.html";
修改完成后,为确保修改成功,重启一下Tomcat服务器,进行搜索,不再报错。

(4)在运行时还可能出现如下的错误:

javax.security.auth.login.LoginException: Login failed: Cannot run program "whoami": CreateProcess error=2, ?????????

这是因为Nutch设计是在linux等系统下运行的,Windows系统是没有"whoami"这个命令的。解决办法是:在windows的系统环境变量Path中加入Cygwin的路径(如D:\Cygwin\bin)。

至此,在Windows平台上使用Eclipse运行和调试Nutch应该可以顺利进行了。
本篇文章来源于:开发学院 http://edu.codepub.com   原文链接:http://edu.codepub.com/2009/0910/15254.php
分享到:
评论

相关推荐

    nutch常见问题归总(原创)

    nutch常见问题归总,对初学nutch的一些问题做出的整理

    Nutch中文教程nutcher.zip

    nutcher 是 Apache Nutch 的中文教程,在github上托管。nutch社区目前缺少教程和文档,而且教程对应版本号较为落后。nutcher致力于为nutch提供一个较新的中文教程和文档,供开发者学习。 github地址: ...

    nutch中文分词

    nutch应用,nutch中文分词,nutch中文乱码

    实验报告(利用Nutch和IKanalyzer构造中文分词搜索引擎)

    尝试使用Nutch 0.9和IKAnalyzer 3.1.6GA组合,但由于版本兼容性问题导致失败,因此改用Nutch 1.2和IKAnalyzer 3.2.8,并将Tomcat升级到6.0.35版本。 在Nutch 1.2中集成IKAnalyzer,需要修改NutchAnalysis.jj文件,...

    Nutch中文分词插件的编写与配置

    Nutch中文分词插件的编写与配置,由于Internet的迅猛发展,使得用户查找信息犹如大海捞针,而搜索引擎则能帮用户很好的解决这个问题。 Nutch是用java语言开发的,基于Lucene的完整的网络搜索引擎,并采用插件机制进行...

    解决Nutch摘要问题

    本文将深入探讨Nutch在摘要生成过程中可能遇到的问题以及解决方案。 首先,我们要明白Nutch的摘要生成机制。Nutch采用了一种基于TF-IDF(词频-逆文档频率)的算法来生成摘要,该算法考虑了关键词在文档中的重要性。...

    nutch 初学文档教材

    Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。 目 录 1. nutch简介...1 1.1什么是nutch..1 1.2研究nutch的原因...1 1.3 nutch的目标..1 1.4 nutch VS lucene.....2 2....

    nutch无法下载中文文件的问题

    在处理中文内容时,可能会遇到一些特定的问题,比如“nutch无法下载中文文件”。这个问题通常与字符编码、URL 处理和配置设置有关。下面我们将深入探讨这个问题,并提供可能的解决方案。 首先,Nutch 在抓取网页时...

    nutch

    《Nutch 入门教程.pdf》这本书籍或文档应该包含了 Nutch 的基础知识、安装配置、使用示例以及常见问题解答等内容。通过阅读此教程,你可以了解如何搭建 Nutch 爬虫环境,编写自定义插件,以及进行定制化抓取和索引。...

    基于Nutch中文分词的研究与实现

    作为舆情监测系统的一部分,本文的目标是基于Nutch,同时,结合目前最常用中文分词技术,根据不同的中文分词方法,实验并得出不同分词方法在性能以及使用环境上的优缺点,以此为舆情监测系统选择合适的中文分词方法...

    Nutch入门教程.pdf

    Apache Nutch 是一个开源的网络搜索引擎框架,允许用户通过一个可定制的、分布式的方式爬取和索引网页。学习Nutch可以提供对搜索引擎内部工作原理的深入了解,特别是对那些对搜索排序的透明度、搜索引擎的内部工作...

    eclipse配置nutch,eclipse配置nutch

    因此,利用Eclipse作为开发工具,可以简化Nutch的配置流程,提供一个友好的图形界面来管理项目和代码,同时利用其强大的调试功能,帮助开发者快速定位和解决问题。 ### 二、Eclipse配置Nutch的步骤详解 #### 步骤1...

    nutch10配置(解决代理问题)

    在处理网络爬虫时,遇到代理问题是非常常见的。对于Nutch这样的开源爬虫框架来说,正确配置代理是确保能够顺利抓取互联网资源的关键步骤之一。本文将详细介绍如何在Nutch 10版本中配置代理,并解决在配置过程中可能...

    nutch使用&Nutch;入门教程

    Nutch是Apache软件基金会开发的一款开源的网络爬虫项目,主要用于收集、索引和搜索互联网上的数据。这个“Nutch使用&Nutch;入门教程”将带你深入理解Nutch的基本概念、工作流程以及如何实际操作它来执行网络爬取任务...

    nutch开发资料 搜索引擎

    Nutch是Apache软件基金会的一个开源项目,主要用于构建网络搜索引擎。这个开发资料压缩包包含了与Nutch相关的源代码和可能的配置文件,可以帮助开发者深入了解和学习Nutch的工作原理以及如何进行定制化开发。以下是...

    nutch帮助文档;nutch学习 入门

    - **实践项目**:尝试建立自己的小规模搜索引擎项目,应用Nutch解决实际问题。 5. **参考资料** - 官方文档:Apache Nutch官网提供了详细的使用指南和API文档。 - 社区资源:参与Nutch的邮件列表、论坛讨论,...

    nutch乱码BUG修正

    本篇将深入探讨Nutch乱码的问题,以及如何进行修复。 乱码通常发生在以下几个阶段:网页抓取、解析HTML、存储和检索索引。Nutch默认使用UTF-8编码,但如果网页或数据库的编码与之不匹配,就会出现乱码现象。 1. **...

Global site tag (gtag.js) - Google Analytics