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. linux实现防止恶意扫描 PortSentry

    linux实现防止恶意扫描 PortSentry   脚本 open 摘要: 端口做为服务器的大门安全很重要,当服务器运行很多服务时并向外提供服务,为防止有人恶意侦测服务器用途,可使用portsent ...

  2. kill 信号大全

    linux kill信号列表$ kill -l1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL5) SIGTRAP      6) S ...

  3. iOS彩票项目--第四天,新特性界面搭建,UICollectionViewController的初次使用

    一.新特性界面搭建的思路: 在AppDelegate加载主窗体的时候进行判断程序版本号,直接进入程序或者进入新特性展示界面 取出当前的版本号,与旧的版本号相比较(旧的版本号在进入程序的时候存起来 =& ...

  4. 用jQuery屏蔽掉按回车键时提交表单

    <script type="text/javascript"> $(function() { $("input").keypress(functio ...

  5. 一遍记住Java常用的八种排序算法与代码实现

    1.直接插入排序 经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中. 将第一个数和第二个数排序,然后构成一个有序序列 将第三个数插入进去,构成一个新的有序序列. 对第四个数.第五个数……直 ...

  6. 【转】Microsoft .Net Remoting之Remoting事件处理全接触

    Remoting事件处理全接触 前言:在Remoting中处理事件其实并不复杂,但其中有些技巧需要你去挖掘出来.正是这些技巧,仿佛森严的壁垒,让许多人望而生畏,或者是不知所谓,最后放弃了事件在Remo ...

  7. linux -- chown修改文件拥有者和所在组

    chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID:组可以是组名或者组ID:文件是以空格分开的要改变权限的文件列表,支持通配符.系统管理员经常使用chown命令,在将文件拷贝 ...

  8. C# HttpClientHelper请求

    public class HttpClientHelper { /// <summary> /// get请求 /// </summary> /// <param nam ...

  9. 让Flask-admin支持markdown编辑器

    前言 flask-admin 算是一个很不错的 flask 后台管理了,用它来做博客系统的管理后端再合适不过了,节约时间成本,避免重复造轮子,但是作为一个程序员,写文章怎么可以没有 markdown ...

  10. asp.net截屏功能实现截取web页面

    using System.Drawing;  //打开该页面 System.Diagnostics.Process.Start("IEXPLORE.EXE", "http ...