`
zhangxiang390
  • 浏览: 216650 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

在eclipse下编译运行nutch

阅读更多

1.       下载Nutch 并解压到某个目录下,建议在根目录下。


2.       修改 Nutch\conf 目录下的 nutch-site.xml crawl-urlfilter.txt 两个文件,具体的修改方法如下:

(1) nutch-site.xml:  

在<configuration></configuration>中间插入以下内容:

<property>

 <name>http.agent.name</name>

 <value>Jennifer</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>


<property>

 <name>http.agent.description</name>

 <value>Jennifer</value>

 <description>Further description of our bot- this text is used in

 the User-Agent header. It appears in parenthesis after the agent name.

 </description>

</property>


<property>

 <name>http.agent.url</name>

 <value>Jennifer</value>

 <description>A URL to advertise in the User-Agent header. This will

    appear in parenthesis after the agent name. Custom dictates that this

    should be a URL of a page explaining the purpose and behavior of this

    crawler.

 </description>

</property>


<property>

 <name>http.agent.email</name>

 <value>Jennifer</value>

 <description>An email address to advertise in the HTTP 'From' request

    header and User-Agent header. A good practice is to mangle this

    address (e.g. 'info at example dot com') to avoid spamming.

 </description>

</property>

 

并修改<value></value> 中间的值,这里的设置是因为Nutch 遵守了robots 协议,在获取response 时,把自己的相关信息提交给被爬行的网站,以供识别。所以设置成任何你喜欢的值都可以的。

(2) crawl-urlfilter.txt:

 

找到"+^http://([a-z0-9]*\.)* MY.DOMAIN.NAME/” ,将其中的' MY.DOMAIN.NAME/' 直接删除。  

为了后面的方便,建议在修改完成后将conf 文件夹复制一下,并保存在硬盘的其他的地方。

 

3.       到下面两个页面去下载两个jar 文件,他们分别是:

http://nutch.cvs.sourceforge.net/nutch/nutch/src/plugin/parse-mp3/lib/

http://nutch.cvs.sourceforge.net/nutch/nutch/src/plugin/parse-rtf/lib/

下载其中的jid3lib-0.5.1.jarrtf-parser.jar 两个文件,并分别把他们拷贝到Nutch\src\plugin\parse-mp3\libNutch\src\plugin\parse-rtf\lib 两个文件夹下。

 

4.       准备工作做好以后就可以在Eclipse 中配置Nutch 了。打开Eclipse 后,我们开始建立Java project 。具体的做法是:

File > New > Project > Java project 创建Eclipse 项目,给我们的项目命名,然后选择Create project from existing source ,并指向你的Nutch 录。

 

5.       点击 Next 后我们就能看到用于定义 Java build 的设置环境。在第一个选项卡 source 下面, 选择conf, 在下面可以看到三个连接,我们需要选择第三个: Add project ‘Nutch’ to build path , 完成以上步骤之后我们就将conf 加入到了classpath 中。注意:这里不是指上面的第三个选项卡。

 

6.       现在需要 我们选择Default output folder ,在这里我们必须选择Nutch/conf 作为它的Default output folder ,否则就会找不到crawl-urlfilter.txt ,从而不能完成网站的爬行,就会出现我之前一只没有解决的问题,会出现以下提示:

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.

 

 

7.       点击Finish ,这时我们就完成了前续的配置工作,这时我们就可点击运行,选择Java Application 点击OK ,开始让Eclipse 自己寻找项目的主类。我们选择Crawl- org.apache.nutch.crawl ,点击OK

 

8.       这时我们可以回到Nutch\conf 目录下看下,我们可以看到里面的内容发生了改变,这时就需要我们还原原来conf 下的内容,这时我们在第2 步中另外保存的conf 文件夹就起到了作用。(当然,新生成的东西并不影响我们的后续爬行工作,我们可以只考虑将原来conf 下的内容复制回来,但是我个人觉得为了文件夹的管理和查找方便,我建议将新生成的内容全部删除后在将原来conf 下的内容复制回来。 还有一点需要我们注意,conf 里面不可以有org 文件夹,如果有的话delete ,否则的话会影响index )。在nutch下建立文件夹myURL,新建文本文件url.txt,键入爬行的起始URL,保存关闭。

 

9.      点击菜单中的Run > Open run dialog ,选择Java Application 分支,选中Arguments 选项卡。

Program arguments 中填写爬行命令,如: myURL -dir myPages -depth 2 -topN 50

VM arguments 中填写:-Dhadoop.log.dir=logs -Dhadoop.log.file=hadoop.log

填写完成后,点击apply 完成提交。由于我们到目前为止还没有建立需要我们爬行的url 地址,所以我们在提交完成后,点击close ,然后我们就可以建立需要Nutch 爬行的url 地址,建好之后,只要我们在点击工具栏上的运行按钮,我们就可以在Console 的透视图中看到Nutch 爬行的结果了。当然如果我们之前已经建立好了我们需要爬行的url 地址,我们就可以直接点击run ,这时我们也可以在Console 的透视图中看到Nutch 爬行的结果。

至此,我们的工作全部完成了,当然我建议在Eclipse 里面配置Nutch 之前,我们最好能够熟悉在Shell 的环境下运行Nutch 。如果有什么不对的地方,欢迎大家指正,我也很希望能和大家一起学习有关Nutch 的相关内容。

 



分享到:
评论
1 楼 markos_xju 2012-06-03  
很有用。

相关推荐

    Eclipse中编译Nutch-1.0

    在Linux环境中使用Eclipse编译Nutch-1.0,首要任务是确保开发环境满足项目需求。这包括确认Eclipse的JDK、JRE版本至少为1.6或更高版本。这是因为Nutch作为Apache旗下的开源Web爬虫项目,其运行依赖于Java平台,并对...

    Eclipse中编译Nutch-0.9

    本文详细介绍了在Eclipse环境下编译Nutch-0.9的完整流程,从环境搭建、项目导入,到解决编译错误、外部库集成,再到配置文件调整和最终的运行测试,每一个步骤都旨在帮助用户顺利地启动和操作这个强大的网络爬虫工具...

    Eclipse中编译运行Hadoop-0.20.1源码

    在Eclipse中,打开`src/examples`目录下的WordCount源代码,编译并运行。运行完成后,wordcount程序将会在你的伪分布式Hadoop环境中执行,处理输入数据并输出结果。 总的来说,这个过程涵盖了Hadoop在Eclipse中的...

    nutch爬虫+java+eclipse

    下面将详细介绍Nutch爬虫、Java语言在爬虫开发中的应用以及如何在Eclipse中配置和运行Nutch。 一、Nutch爬虫 Nutch 是Apache软件基金会的一个项目,它的设计目标是成为一个可扩展、高性能的网络爬虫。Nutch的核心...

    nutch Eclipse

    在本文中,我们将深入探讨如何在 Linux 环境下使用 Eclipse 编译 Apache Nutch 1.0。Apache Nutch 是一个开源的网络爬虫框架,主要用于抓取和索引网页内容。Eclipse 是一个广泛使用的 Java 开发集成环境,它支持多种...

    apache-nutch-1.16.rar 已编译好的版本,可以直接导入eclipse、idea

    4. **运行Nutch命令**:通过项目内的脚本或自定义的Java类,你可以调用Nutch的命令行工具执行爬取、索引和查询操作。例如,`bin/nutch crawl urls -dir crawl -depth 2 -topN 10`会启动一个深度为2的爬取,并返回前...

    Nutch1.4_windows下eclipse配置图文详解.docx

    ### Nutch 1.4 在 Windows 下 Eclipse 配置图文详解 #### 一、环境准备与配置 **1.1 JDK 安装** - **版本选择**:文档中提到使用了 JDK1.6,官方下载地址为:[JDK6]...

    Nutch_插件深入研究

    2. **构建脚本编写**:在插件目录下的`build.xml`中,编写构建脚本,定义编译、打包和部署等任务。 3. **执行构建**:通过Eclipse的Ant视图或菜单选项,执行构建脚本,完成插件的构建和部署。 #### 六、总结 ...

    Nutch程序运行环境配置

    - 在Windows上运行Nutch可能会遇到一些特定的问题,比如上述描述中的“Login failed: Cannot run program 'whoami': CreateProcess error=2”。这个错误通常是因为Nutch尝试使用Unix-like的命令`whoami`,但在...

    nutch安装开发环境的配置

    你需要在 Eclipse 工程目录下找到 `build.xml`,然后通过 `Run As` -&gt; `Ant Build` 来编译源代码。这将生成必需的 `nutch.jar` 文件。 2. **java.lang.RuntimeException: org.apache.nutch.plugin....

    Nutch搜索引擎培训讲义

    ### Nutch 搜索引擎培训讲义关键知识点...最新的Nutch 2.0版本在架构和性能上有了显著提升,更加适合大规模分布式环境下的搜索引擎建设。对于学习者而言,了解各版本的特点和技术细节对于掌握Nutch的使用方法至关重要。

    Nutch插件开发和服务器发布流程

    - 使用Xshell4或其他SSH客户端工具连接到运行Nutch的Linux服务器。例如,通过命令`ssh 172.37.0.202`登录服务器,并输入相应的用户名和密码。 **2. 上传插件** - 上传新开发的插件至服务器上的`{nutchhome}/src/...

    Hadoop开发者第一期入门专刊

    ### 运行eclipse编译出的Hadoop框架 编译完成后,可以在Eclipse中直接运行Hadoop框架。具体步骤包括配置Hadoop运行环境、启动Hadoop服务、编写测试程序并运行等。 ### 表关联在MapReduce上的实现 在MapReduce框架...

Global site tag (gtag.js) - Google Analytics