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. SecureCRT 用ssh key登录配置方法

    服务器端配置 OS: Debian-6.0.5 复制代码 代码如下: #apt-get install ssh 安装ssh服务 编辑/etc/ssh/sshd_config配置文件 复制代码 代码如下 ...

  2. ASP.NET 防止重复提交提示层

    今天研究了下,其实我希望的很简单,就是有个封装好的提示层,等处理完后,刷新界面时 能自动消失 找了挺久的,找到这个控件还不错 完整Demo地址: http://download.csdn.net/de ...

  3. Windows下进程通信方式

    当线程分属于不同进程,也就是分驻在不同的地址空间时,它们之间的通讯需要跨越地址空间的边界,便得采取一些与同一进程中不同线程间通讯不同的方法.在Windows程序中,各个进程之间常常需要交换数据,进行数 ...

  4. 超多的CSS3圆角渐变网页按钮

    <!DOCTYPE html><head><title>超多的CSS3圆角渐变按钮</title><style type="text/c ...

  5. (五)Qt实现自定义模型基于QAbstractItemModel

    一个小例子 QTableView + QStandardItemModel QStandardItemModel model; //设置大小 model.setColumnCount(); //列 m ...

  6. 本地Git仓库和远程仓库的创建及关联

    新建一个远程的仓库(空的) 新建一个远程仓库 设置远程仓库的名字,并创建 设置仓库名 切记:如果我们在创建远程仓库的时候添加了README和.ignore等文件,我们在后面关联仓库后,需要先执行pul ...

  7. Ubuntu telnet

    首先在Ubuntu中安装xinetd(它是inetd替代品): sudo apt-get install xinetd 再安装telnetd,在Ubuntu中没有telnetd这个软件包,它是包含在i ...

  8. 在 Mac 上搭建 Nginx PHP Mysql 开发环境

    事实上这个过程跟Linux下安装都几乎相同,仅仅是部分命令有区别,大同小异. 网上看到非常多教程都是用 brew 之类的包管理器安装,可是 Mac 自带了 php , 难道还要再装一个第三方的?强迫症 ...

  9. caffe源代码分析--Blob类代码研究

    作者:linger 转自须注明转自:http://blog.csdn.net/lingerlanlan/article/details/24379689 数据成员 shared_ptr<Sync ...

  10. CentOS7.2内核版本查看简述

    1.uname 命令 [root@bogon /]# uname --help 用法:uname [选项]... 输出一组系统信息.如果不跟随选项,则视为只附加-s 选项.   -a, --all以如 ...