1.下载Nutch1.7的包 apache-nutch-1.7-src.zip,解压之后应该包括 bin,conf,src等目录

2.将解压之后的 apache-nutch-1.7 文件夹放到eclipse的workspace中

3.创建工程(工程类型是 java Project from existing Ant Buildfile) 选择apache-nutch-1.7/build.xml, Project Name为apache-nutch-1.7

4.右键 conf目录  bulidPath --> use as sourceFolder,并修改项目的编码方式为UTF8

5. 修改conf下的nutch-site.xml,在configuration标签对中添加如下代码:

<property>

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

<value>test</value>

</property>

6. 用ant编译build.xml,勾选jar, job 和runtime(默认就勾选上了)

7. 将生成的build/ jar  job  plugins复制到根目录下面

注意,每次修改了conf目录中的配置文件,必须重新编译,重新把jar job plugins复制一份,修改才能生效

.在工程的根目录下建立urls文件夹,其中新建一个seed.txt文件,里边就是我们需要爬取的目标网站,如果需要爬多个网站,每个网站占一行

9.修改crawl-urlfilter.txt,只过滤我们想要的网站(下边的正则表达式表示只过滤以.163结束的URL地址)

# accept hosts in MY.DOMAIN.NAME

+^http://([a-z0-9]*\.)*163.com/

10.手动运行 org.apache.nutch.crawl包里边的Crawl.java  需要一下的参数

Usage: Crawl <urlDir> -solr <solrURL> [-dir d] [-threads n] [-depth i] [-topN N]

urlDir指的是需要爬取的url地址(就是上边我们建立的urls文件夹里seed.txt里的URL)这里我们写 urls

sorlURL是slor服务的地址,暂时可以不管

-dir是爬取之后的文件存放的位置 我们可以再建一个和urls平级的文件夹 dir

-threads 是抓取的时候启动的线程的数量

-depth 指的是抓取的深度

-topN  每次抓取的最大page数量

为Crewl.java 添加如下运行参数 Crawl urls -dir dir -threads 2 -depth 3 -topN 5 然后就可以抓取了

在windows下可能会遇到的问题:

1 fail to set permissions of path\ staging 0700

nutch1.4往上的版本会有这个问题,hadoop设置的文件权限问题,linux下没有问题,

解决的办法参看CSDN的这篇文章:http://blog.csdn.net/mengfei86/article/details/8155544  修改一下Hadoop-core1.2.0的源代码,注释掉检查文件权限的那段代码 ,重新编译一下。 替换掉apache-nutch-1.7/build/lib下的Hadoop-core-1.2.0.jar即可。

nutch 1.7导入Eclipse的更多相关文章

  1. nutch 1.7 导入 eclipse

    开发环境建议:ubuntu+eclipse (windows + cygwin + eclipse不推荐) 第一步:下载http://archive.apache.org/dist/nutch/从上述 ...

  2. spring源码解析——spring源码导入eclipse

    一.前言     众所周知,spring的强大之处.几乎所有的企业级开发中,都使用了spring了.在日常的开发中,我们是否只知道spring的配置,以及简单的使用场景.对其实现的代码没有进行深入的了 ...

  3. 如何将MyEclipse项目导入eclipse

    我们经常会在网上下载一些开源项目,或者从别的地方迁移一些项目进来,但经常会发现导入后各种报错.这是初学java肯定会遇到的问题,本文对一些常见的处理方案做一个总结.(本文将MyEclipse项目导入e ...

  4. Android Studio 2.2.2导入Eclipse中创建的项目

    最近随视频教程学习Android,原本都是用Adt写Android程序,中途教程换成了Android Studio,于是我自己下了android studio 2.2.2安装好,并下载好sdk,也跟着 ...

  5. 开源项目导入eclipse的一般步骤

    开源项目导入eclipse的一般步骤 周银辉 下载到开源项目后,我们还是希望导入到eclipse中还看,这样要方便点,一般的步骤是这样的 打开源代码目录, 如果看到里面有.calsspath .pro ...

  6. svn工具安装下载Tomcat源码以及导入eclipse

    安装 1.svn下载地址 https://tortoisesvn.net/downloads.html 2.语言包下载 3.先安装svn,在直接安装语言包 4.桌面右键可以看到相关svn信息 下载To ...

  7. Openfire3.9.3源代码导入eclipse中开发配置指南

    这篇文章向大家介绍一下,如何把openfire3.9.3源码导入eclipse中,编译并启动的详细过程. 首先得感谢这篇文章的作者,http://www.micmiu.com/opensource/o ...

  8. Tomcat源码导入eclipse的步骤

    Tomcat源码导入eclipse 一.下载源码 1.  进入Apache 官网:http://tomcat.apache.org/ 2.  在左边侧选择要下载的源码的版本. 3.  或者直接通过Ar ...

  9. Git项目存放位置在导入Eclipse前不能存放在Eclipse Workspace

    这篇帖子的背景: 本人想将一个git项目导入至Eclipse的Workspace中,并且该项目的所有git信息.但是,该git项目在导入之前,就已经存放在Eclipse的Workspace中.在将该g ...

随机推荐

  1. javascript时钟代码 DEMO-002

    转载自:http://www.cnblogs.com/Mygirl/archive/2012/03/30/2425832.html 正常时间显示 复制代码 <SCRIPT language=ja ...

  2. selenium测试(Java)--操作cookie(十七)

    package com.test.cookies; import org.openqa.selenium.Cookie; import org.openqa.selenium.JavascriptEx ...

  3. dm8127前段采集和抓拍

         高清监控(944275216) 2014-1-17 9:36:24自主研发高清网络摄像机,720P.960P.1080P系列产品,经济型.低照型.宽动态型等各种机型可选,支持onvif.P2 ...

  4. nodejs基础 -- EventEmitter

    var events = require('events'); nodejs所有的异步I/O操作在完成时都会发送一个事件到事件队列 nodejs里面的许多对象都会分发事件,如: 一个net.Serve ...

  5. centos 6.5配置samba

    Samba简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microso ...

  6. Sqrt算法

    转自原文:http://www.cnblogs.com/pkuoliver/archive/2010/10/06/sotry-about-sqrt.html 一个Sqrt函数引发的血案 2010-10 ...

  7. js中onclick中文参数传输方式

    添加单引号或双引号即可,例: var type = "'"+n.bankCard.type+"'"; var number = "'"+n. ...

  8. sql 字符串操作

    SQL Server之字符串函数   以下所有例子均Studnet表为例:  计算字符串长度len()用来计算字符串的长度 select sname ,len(sname) from student ...

  9. 学习 TList 类的实现[6]

    实现 TMyList.Add 函数. TList 中的 Add 函数用到了一个 Grow 方法, 它的原理是元素越多就为以后准备更多内存, 我们这里省略为预留 4 个元素的内存; TList 中的 A ...

  10. shell脚本中,for基于列表进行循环的实现方法

    需求描述: 在写脚本中需要这么个需求,需要对一个列表中的值进行循环 比如,列表中的值mysqld,zookeeper,hbase 简单来说,for基于列表值的循环. 脚本测试过程: 1.测试脚本 #! ...