`
lwcheng1985
  • 浏览: 95338 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

搜索引擎-nutch-1

阅读更多
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

环境变量设置如下:(此处可以只设置NUTCH_JAVA_HOME)
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(要先建立自己的日志目录)(url地址为bin目录下,要写全名)
         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>(修改为自己的下载目录)</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服务器,进行搜索,不再报错。
分享到:
评论

相关推荐

    apache-nutch-2.3.1-src.tar.gz

    Apache Nutch 是一个开源的网络爬虫项目,用于抓取互联网上的网页并建立索引,以便于搜索引擎进行高效检索。Nutch 是由 Apache Software Foundation 维护,它提供了完整的网络爬虫解决方案,包括数据采集、预处理、...

    apache-nutch-1.7-src.tar.gz

    Apache Nutch是一个强大的开源搜索引擎项目,它主要用于网络爬虫和数据索引。Nutch是由Apache软件基金会开发并维护的,其目标是提供一种可扩展、可靠的全网搜索解决方案。Nutch 1.7是该项目的其中一个稳定版本,包含...

    apache-nutch-1.4-bin.tar.gz

    1. **解压**:首先,你需要将"apache-nutch-1.4-bin.tar.gz"解压到本地目录,得到Nutch的运行环境。 2. **配置**:编辑conf/nutch-site.xml文件,设置如存储路径、抓取间隔、抓取范围等相关参数。 3. **创建种子**:...

    apache-nutch-1.5.1-bin.tar.gz

    Nutch是一款刚刚诞生的完整的开源搜索引擎系统,可以结合数据库进行索引,能快速构建所需系统。Nutch 是基于Lucene的,Lucene为 Nutch 提供了文本索引和搜索的API,所以它使用Lucene作为索引和检索的模块。Nutch的...

    apache-nutch-1.4

    - **配置文件**:Nutch的运行依赖于一系列配置文件,如`conf/nutch-site.xml`,用户可以通过修改这些文件来定制爬虫行为。 - **插件系统**:Nutch支持丰富的插件体系,如URL过滤器、解析器、索引器等,开发者可以...

    apache-nutch-1.4-src.tar.gz_nutch_搜索引擎

    在“apache-nutch-1.4-src.tar.gz”这个压缩包中,包含了Nutch 1.4版本的源代码,用户可以根据自己的需求对代码进行定制和扩展。 Nutch 的主要组件包括以下几个方面: 1. **网络爬虫(Crawler)**:Nutch 的网络...

    人工智能-项目实践-搜索引擎-基于Nutch+ElasticSearch+MySQL+SSM的简易搜索引擎

    标题中的“人工智能-项目实践-搜索引擎-基于Nutch+ElasticSearch+MySQL+SSM的简易搜索引擎”揭示了一个项目,旨在构建一个简易的搜索引擎,利用了人工智能的一些原理和技术。这个项目结合了多个开源工具,包括Nutch...

    apach-nutch-1.9-bin.tar.gz

    总之,"apach-nutch-1.9-bin.tar.gz" 提供了一个完整的搜索引擎搭建工具,通过理解其工作原理和配置方法,你可以快速地构建自己的网页抓取和搜索系统。虽然Nutch 1.9相对较老,但对于初学者或小型项目来说,它的简单...

    Nutch搜索引擎(1-5期)

    Nutch搜索引擎·Nutch简介及安装(第1期) Nutch搜索引擎·Solr简介及安装(第2期) Nutch搜索引擎·Nutch简单应用(第3期) Nutch搜索引擎·Eclipse开发配置(第4期) Nutch搜索引擎·Nutch浅入分析(第5期)

    apache-nutch-1.3

    Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降. 并且这很有可能进一步演变成为一个公司垄断了几乎所有的web...

    apache-nutch-1.6-src.tar.gz

    Apache Nutch 是一个开源的网络爬虫项目,用于抓取互联网上的网页并建立索引,以便于搜索引擎进行高效的信息检索。Nutch 1.6 是该项目的一个稳定版本,提供了丰富的功能和良好的性能。这个`apache-nutch-1.6-src.tar...

    apache-nutch-2.3.1 源码和构建好的库文件等 (part 2)

    Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己 的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降. 并且这很有可能进一步...

    apache-nutch-2.3.1 源码和构建好的库文件等 (part 1)

    Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己 的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降. 并且这很有可能进一步...

    apache-nutch-2.3.1 源码和构建好的库文件等 (part 3)

    Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己 的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降. 并且这很有可能进一步...

    apache-nutch-2.3.1 源码和构建好的库文件等 (part 4)

    Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己 的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降. 并且这很有可能进一步...

    apache-nutch的源码

    Apache Nutch 是一个开源的网络爬虫项目,用于抓取互联网上的网页并建立索引,以便于搜索引擎进行高效的信息检索。Nutch 源码的分析和理解对于想要深入研究搜索引擎工作原理、网页抓取技术和大数据处理的开发者来说...

    apache-nutch-2.3

    Apache Nutch 是一个开源的网络爬虫框架,用于抓取互联网上的网页并建立索引,以便于搜索引擎进行高效的检索。Nutch 2.3 版本是该项目的一个稳定版本,包含了丰富的功能和优化,是学习和研究网络爬虫技术的理想选择...

    apache-nutch-1.5.1

    在使用 Apache Nutch 1.5.1 时,你需要关注的几个关键点包括配置文件的设置(如`conf/nutch-site.xml`和`conf/regex-urlfilter.txt`),种子URL的提供,以及如何启动和监控爬虫进程。同时,你还需要了解Hadoop环境的...

    apache-nutch-1.13-src.zip_nutch_网络爬虫

    它们是搜索引擎背后的关键技术,用于收集和更新网络上的信息。 Apache Nutch 的核心功能包括以下几个方面: 1. **抓取**:Nutch 使用种子URL开始,通过解析页面中的链接进行深度优先或广度优先的遍历,不断发现新...

    apache-nutch-2.1

    Apache Nutch 是一款开源的网络爬虫框架,用于抓取互联网上的网页并建立索引,是构建搜索引擎的基础组件。Nutch 2.1 版本是其发展过程中的一个重要里程碑,提供了许多改进和优化,使其在大数据处理和分布式计算方面...

Global site tag (gtag.js) - Google Analytics