Nutch是一个开源的、Java实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。

Nutch可以分为2个部分:

  • 抓取部分crawler

抓取程序抓取页面并把抓取回来的数据做成反向索引

  • 搜索部分searcher。

搜索程序则对反向索引搜索回答用户的请求。

Nutch的爬虫有两种方式

  • 爬行企业内部网(Intranet crawling)。针对少数网站进行,用crawl命令。
  • 爬行整个互联网。使用低层的inject,generate,fetch和updatedb命令,具有更强的可控制性。

昨晚折腾了一晚上终于是大功告成了!

这里要说的是基于Intranet(企业内部网)的环境配置

软件:

JDK

Cygwin

Tomcat

apache-nutch-1.2-bin.zip(http://apache.etoak.com//nutch/apache-nutch-1.2-bin.zip)

因为nutch脚本是基于Linux内核的所以在Windows下运行,就需要Cygwin这样一个内核模拟器

1。安装Cygwin(网上资料很多了,建议下载完全的安装版,然后选择从本地安装)

我们的Cygwin安装在C:/cygwin中

2。我们把nutch包解压把文件复制到C:/cygwin下,解压后的文件为nutch-1.2

3。打开安装cygwin安装时生成的快捷方式,这样就能打开cygwin的命令行,里面能执行的当然都是Linux的命令

cd进入nutch-1.2/bin下面

输入./nutch 出来nutch命令的一些选项提示 说明已成功一半

4。接下来是修改nutch-1.2/conf/nutch-site.xml

修改后如下:

<configuration>

<property>

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

<value>foxman</value>

<description></description>

</property>

<property>

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

<value></value>

<description></description>

</property>

<property>

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

<value></value>

<description></description>

</property>

<property>

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

<value></value>

<description></description>

</property>

</configuration>

注:http.agent.name段下的foxman值一定要给出(当然值是随意的)
有兴趣的可以查看nutch-1.2/conf/nutch-default.xml这个文件,里面也有http.agent.name段,默认值为空,所以才要我们强制指明。
5。修改nutch-1.2/conf/crawl-urlfilter.txt
倒数四行的代码修改成如下(只是修改了+^http://([a-z0-9]*/.)*163.com/)指明我们抓取的网站是http://www.163.com/下的网站。
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*/.)*163.com/
# skip everything else
-.

6。在nutch-1.2/bin/下建立文件夹urls,然后在urls下面建立文件url.txt

里面内容是

http://www.163.com/

注:你要抓取的网站。

7。在cygwin中进入nutch-1.2/bin目录

执行

export JAVA_HOME=你JDK的安装路径,不用到JDK的bin文件那一层

配置好JAVA_HOME

接着执行

./nutch crawl urls -dir crawl -depth 5 -threads 4 -topN 50

注:urls就是你之前建立的文件夹

-dir crawl就是创建crawl文件夹来存储抓取的数据

-depth 5 就是抓取的深度

-threads 4 就是执行的线程数

-topN 50 就是每层抓取数目

这样你的抓取数据都在crawl中了

可以执行

./nutch readdb sina/crawldb/ -stats

注:查看抓取信息。

8。把nutch-1.2文件夹下的nutch-1.2.war拷到tomcat的webapps文件下

打开tomcat,nutch-1.2.war会自动被解压成同名的nutch-1.2文件夹。

9。配置nutch-1.2/WEB-INF/classes/nutch-site.xml

修改后如下

<configuration>

<property>

<name>searcher.dir</name>

<value>C:/cygwin/nutch-1.2/bin/crawl</value>

</property>

</configuration>

注:C:/cygwin/nutch-1.2/bin/crawl这个路径就是你之前抓取数据的存放路径。

10。中文乱码问题

配置tomcat的conf文件夹下的server.xml

修改如下

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true"/>

注:找到这一段,关键是添加URIEncoding="UTF-8" useBodyEncodingForURI="true"。

最好重启一下Tomcat

浏览器中输入http://localhost:8080/nutch-1.2/就可以大功告成了

常见问题:

如何解决Generator: 0 records selected for fetching, exiting ...

Stopping at depth=0 - no more URLs to fetch.

一般都会是nutch/conf/crawl-urlfilter.txt中的配置出现的不可预见的错误

好好在配一下,参照步骤5。

注意+^http://([a-z0-9]*/.)*163.com/前不要加#那就代表注释了。

我配了好久一路下来都很顺,也是卡在这个问题上半天

   我当时就是这个配置错了,最好配的跟我一样斜杆什么的也不要落下了!

OK,祝好远……

原文地址:http://blog.csdn.net/foxman209/article/details/6066846

Windows下Nutch的配置的更多相关文章

  1. Windows下python的配置

    Windows下python的配置 希望这是最后一次写关于python的配置博客了,已经被python的安装烦的不行了.一开始我希望安装python.手动配置pip并使用pip安装numpy,然而发现 ...

  2. Windows 下用 gogs 配置局域网 git server

    大道曙光 Windows 下用 gogs 配置局域网 git server 最近要用 C# 开发一个新的项目,所以需要在 Windows 局域网环境下构建一个 git server. 在 Window ...

  3. Windows 下如何安装配置Snort视频教程

    Windows 下如何安装配置Snort视频教程: 第一步: http://www.tudou.com/programs/view/UUbIQCng360/ 第二部: http://www.tudou ...

  4. PHP学习之-Mongodb在Windows下安装及配置

    Mongodb在Windows下安装及配置 1.下载 下载地址:http://www.mongodb.org/ 建议下载zip版本. 2.安装 下载windows版本安装就和普通的软件一样,直接下一步 ...

  5. Windows下caffe的配置和调用caffe库(一)

    一.Windows下caffe的配置: 1. 下载caffe官网提供的开发包,https://github.com/microsoft/caffe 2. 将caffe-master目录下的Window ...

  6. windows下安装和配置redis

    1.windows下安装和配置redis 1.1 下载: 官网(linux下载地址):https://redis.io/ Windows系统下载地址:https://github.com/MSOpen ...

  7. Windows下为 Eclipse 配置 C/C++ 编译环境(转)

    1.Eclipse及CDT的安装 CDT的全称是C/C++ DevelopmentTools,CDT使得Eclipse能够支持C/C++的开发.直接下载 eclipse CDT 集成版 下载地址:ht ...

  8. windows下安装和配置多个版本的JDK

    https://jingyan.baidu.com/article/47a29f2474ba55c015239957.html 如何在windows下安装和配置多个版本的jdk,本文将带你在windo ...

  9. 网络基础 Windows下安装和配置net-snmp 代理

    Windows 下安装和配置net-snmp 代理[摘录] by:授客 QQ:1033553122   A.   安装  1.   安装前准备 ActivePerl-5.10.0.1004-MSWin ...

随机推荐

  1. js 笔记 数组(对象)

    一.javascript push 的元素为指针 var data = {"test":{"201308":"23","20130 ...

  2. 基于jquery右侧悬浮加入购物车代码

    分享一款基于jquery右侧悬浮加入购物车代码.这是一款基于jQuery实现的仿天猫右侧悬浮加入购物车菜单代码. 在线预览   源码下载 实现的代码: <!--左侧产品parabola.js控制 ...

  3. 一款纯css3实现的图片3D翻转幻灯片

    之前介绍了好多款网页幻灯片,今天要给大家再带来一款纯css3实现的图片3D翻转幻灯片.这款幻灯片图片轮播采用了3D翻转的形式,效果非常不错.一起看下效果图: 在线预览   源码下载 实现的代码. ht ...

  4. kubernetes deployment

    deployment是k8s中部署应用最常见的一种方式.如果不需要被访问,那么只需要定义deployment即可.如果需要被其他服务访问,那么可以创建一个service与其绑定,通过访问service ...

  5. strerror() 和perror()函数

    在linux编程中,strerror()是个好东东,因为一个孤零零的errno看不出个所以然,然而strerror()返回的错误描述已经给我们解决问题提供了80%的成功率.但从安全性的角度来讲,str ...

  6. 防火墙在setup进入不了

    dbus-daemon --system dbus-daemon --system

  7. 教你如何做一个优雅的Ecmascripter /转

    看看这些被同事喷的JS代码风格你写过多少 殷荣桧 JavaScript 今天 现在写代码比以前好多了,代码的格式都有eslint,prettier,babel(写新版语法)这些来保证,然而,技术手段再 ...

  8. 记录日志框架:log4net使用

    一.log4net简介 Log4net是Apache下一个开放源码的项目,我们可以控制日志信息的输出目的地.Log4net中定义了多种日志信息输出模式.在做项目的时候最头疼的是在程序发布到正式环境之后 ...

  9. 集成vue到jquery/bootstrap项目

    说明,项目本身使用jquery和bootstrap做的管理后台,部分登录接口跑在node服务端,大部分接口使用springmvc实现.现在,使用vue开发,集成vue到原先的项目中.不影响原先的框架. ...

  10. 网络配置vlan

    1. # This file describes the network interfaces available on your system # and how to activate them. ...