`
softkid
  • 浏览: 101544 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Nutch 使用入门(一)——准备工作及Intranet抓取

    博客分类:
  • java
阅读更多
/**
 *本人亦初学者,如有不正确的地方请多多指教。谢谢!
 **/

 

环境要求:

1.JDK1.5 或者更高。

2.Tomcat5.x 或者更高。

3.windows下需要Linux仿真环境Cygwin来提供Shell支持。

 

准备工作:

1.下载安装Nutch,你可以从http://lucene.apache.org/nutch/release/ 下载,然后解压即可。我这里解压到                    D:Nutch-1.0.

2.在Cygwin命令窗口中,使用Shell命令“cd /cygdrive/d/nutch-1.0"切换当前工作目录到Nutch的安装目录。cygdrive是系统默认访问本地驱动器的虚拟目录,d是本地驱动器符合,nutch-1.0是nutch的安装目录。输入Nutch命令”bin/nutch",测试命令是否可用。正确执行后,应该给出Nutch的一系列命令参数,如下图所示:


3.你需要给你的网络蜘蛛取一个名字,这是必须的。在Nutch目录下找到conf/nutch-default.xml文件,搜索http.agent.name,设置这个属性的值。这个属性值在抓取网页的时候,会携带于HTTP请求的协议头里面,用来表明网络蜘蛛的身份。

 

现在已经准备就绪,可用进行网页的抓取了。

我们有两种方式可以使用。

1.使用一步到位的crawl命令,这通常用于intranet的抓取。操作很简便,但是有许多限制。

2.更加灵活方便的互联网抓取模式。使用一些更加底层的命令,如inject,generate,fetch,updatedb。

 

首先,我们一步一步来实现第一种方式。

1.在Nutch安装目录下新建一个urls目录,在urls目录中添加一个文本文件,其内容可以是你想抓取的网站的url地址。我的示例地址为www.sina.com.cn.

2.修改conf/crawl-urlfilter.txt.过滤规则以“+”表示允许下载。默认的规则如下:

 +^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/

如果只允许下载iteye.com的网页,可以更改设置为+^http://([a-z0-9]*\.)*sina.com.cn/

3.执行crawl命令。典型的命令如下:

bin/nutch crawl urls -dir javaeye -depth 3 -topN 100 -threads 3

 -dir :存放爬行结果的目录

 -depth:抓取的页面深度

 -topN:每一层抓取前N个URL

 =threads:下载的线程数目

 

等这一步完成以后,就可以进行搜索了。

4.搜索。

将Nutch目录下面Nutch-1.0.war部署到tomcat的wepapp目录下,启动tomcat.在解压后的nutch-1.0目录下找到nutch-site.xml文件,修改其内容如下:

<configuration>
	<property>
		<name>http.agent.name</name>
		<value>yourAgentName</value>
	</property>
	<property>
		<name>searcher.dir</name>
		<value>D:/nutch-1.0/javaeye</value>
	</property>
</configuration>

  重新启动Tomcat。通过浏览器访问:http://localhost:8080/nutch-1.0 ,将看到如下搜索页面:


  输入你希望搜索的关键字,开始进行搜索体验吧!

 

 

 还有一些问题需要解决:

 

 1. 搜索中文出现乱码,但这并不是nutch的问题,修改tomcat配置文件tomcat6\conf\server.xml。增加URIEncoding/useBodyEncodingForURI两 项。

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
useBodyEncodingForURI="true"/>

 2.网页快照出现乱码,修改webapps\nutch-1.0 \cached.jsp,将content = new String(bean.getContent(details))修改为content = new String(bean.getContent(details),"utf-8")。

 

 3.搜索结果页面部分中文出现乱码。应该是由于<jsp:include>导致,但是我还没有找到解决办法,如果谁知道怎么解决,请留言告诉我,谢谢!

 

 

下一篇将介绍互联网抓取模式,请继续关注!

 

  • 大小: 80.1 KB
  • 大小: 23.8 KB
6
0
分享到:
评论
1 楼 koubi1986 2013-08-20  
你好!请教一些问题:
请问一下
1。你是如何把nutch抓取到的二进制内容,在项目中读取的。
2。nutch抓取时候,发现有很多url没有被成功抓取过来,请问你做的时候,有什么   办法是提高成功率。
3。对抓取过来内容你们是如何进行关键词搜索

希望群主可以帮忙解答一下。万分感激!
email:83132614@qq.com

相关推荐

    nutch使用&Nutch;入门教程

    “Nutch使用.pdf”和“Nutch入门教程.pdf”这两份文档将详细介绍如何从零开始使用Nutch,包括环境搭建、配置、启动爬虫、监控爬虫状态、查看抓取结果和索引数据等。通过这些教程,你可以快速掌握Nutch的基本操作,并...

    Nutch使用入门

    Nutch 是一个开源的网络爬虫项目,主要设计用于抓取和索引互联网上的网页,以便进行全文搜索。本文档将引导你入门Nutch的基本使用,包括环境配置、部署、爬取网页以及搜索功能的实现。 **环境要求:** 1. **JDK 1.5...

    nutch帮助文档;nutch学习 入门

    Nutch是Apache软件基金会开发的一款开源搜索引擎项目,主要用于抓取、索引和搜索Web内容。作为初学者,了解和掌握Nutch的相关知识是探索搜索引擎技术的第一步。本篇将深入探讨Nutch的基本概念、功能、架构以及如何...

    Nutch入门教程 高清 带书签

    通过阅读提供的“Nutch入门教程.pdf”,你可以学习如何安装Nutch、配置环境、创建并运行爬虫任务、查看抓取日志、分析抓取结果、调试插件等步骤,逐步掌握Nutch的使用。 总结来说,Nutch是一款强大的开源搜索引擎...

    分享一个Nutch入门学习的资料

    标题中的“Nutch入门学习”指的是Apache Nutch,这是一个开源的网络爬虫项目,用于抓取Web内容并建立搜索引擎。Nutch是大数据处理框架Hadoop的一个重要组成部分,它使用Hadoop进行分布式数据存储和处理。Nutch的学习...

    Nutch入门教程.pdf

    以上内容构成了Nutch入门教程的核心知识点,从简介、安装配置、初体验、基本原理、分析方法、分布式文件系统以及应用等多方面,详细介绍了Nutch框架及其使用方法,为对搜索引擎感兴趣的用户提供了一个全面的学习资源...

    nutch入门.pdf

    这一部分详细介绍了如何配置Nutch以及Tomcat,执行抓取命令,并对结果进行测试。其中,爬行企业内部网涉及到IntranetRecrawl,而爬行全网则详细讨论了爬行官方网址和中文网址。 Nutch基本原理分析包括Nutch的基本...

    Nutch使用指南(英文)

    ### Nutch 使用指南 #### 一、概述 Nutch 是一个开源项目,旨在帮助用户构建自己的内部网搜索引擎或面向整个互联网的搜索引擎。本指南将基于 Nutch 的版本 0.7,详细介绍如何设置和配置 Nutch 以进行内部网爬取...

    nutch入门实例教程.pdf

    ### Nutch 入门实例教程知识点总结 #### 1. Nutch 简介 - **定义**: Nutch 是一个开源的 Java 实现的搜索引擎框架,它提供了构建和运行自己搜索引擎所需的所有工具。 - **研究动机**: - **透明度**: 作为开源...

    nutch入门教程

    ### Nutch入门教程知识点解析 #### 1. Nutch简介 **1.1 什么是Nutch** Nutch是一个开源的搜索引擎框架,完全基于Java开发,旨在帮助用户构建和运行自己的搜索引擎。它提供了一系列的工具和服务,使用户能够从...

    nutch

    **Nutch 概述** Nutch 是一个开源的网络爬虫项目,主要设计用于抓取、索引和搜索互联网...学习和使用 Nutch 可以帮助开发者深入了解 Web 数据抓取和搜索引擎的工作原理,对于大数据处理和信息提取有着重要的实践价值。

    nutch使用文档

    Nutch 的搭建过程主要包括准备工作、安装 Linux 系统、安装 JDK、配置 Nutch 创建索引、安装 Tomcat 和配置 Nutch 查询索引等步骤。 准备工作 在开始搭建 Nutch 之前,需要准备一个 Linux 操作系统和 JDK 环境。...

    Nutch入门.rar

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

Global site tag (gtag.js) - Google Analytics