`

nutch0.9实现抓取动态网页部署笔记

阅读更多

一:准备工作:

    1:下载nutch,地址是:http://www.apache.org/dist/lucene/nutch/

    2:下载JDK6(一定要是jdk6的版本,否则会报错),地址是:

http://java.sun.com/javase/downloads/index.jsp

     3:下载Cygwin(是一个在windows平台上运行的unix模拟环境的软件),地址是:http://www.cygwin.com/ 安装说明参考这里
     4:下载tomcat6,地址是:http://tomcat.apache.org/

二:配置:(前面的软件都安装完毕)
     1:解压缩的nutch后,到conf下面修改crawl-urlfilter.txt
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*apache.org/
+^http://([a-z0-9]*\.)*longtask.com/blog/
如果有需要可以继续添加相关的站点.
     2:修改conf下面的nutch-site.xml文件,在<configuration>之间添加以下内容
<property>
  <name>http.agent.name</name>
  <value>longtask</value>
  <description>HTTP ‘User-Agent’ request header. </description>
</property>
<property>
  <name>http.agent.description</name>
  <value>longtask</value>
  <description>Further description of our bot- this text is used in the User-Agent header. 
  </description>
</property>
<property>
  <name>http.agent.url</name>
  <value>http://www.longtask.com/blog/</value>
  <description>A URL to advertise in the User-Agent header. 
  </description>
</property>
<property>
  <name>http.agent.email</name>
  <value>longtask@gmail.com</value>
  <description>An email address to advertise in the HTTP ‘From’ reques header and User-Agent header.
  </description>
</property>
     3:回到到nutch的根目录,进入bin目录,建一个urls的文件夹,在文件夹中建一个nutch.txt的问题件,在文件中加入上面要鉴权的Url地址(抓取的网址(nutch.txt)经过(crawl-urlfilters.xml)过滤后,如果没有内容会在log中报错:Stopping at depth=0 – no more URLs to fetch.)。这个地方用nutch1.0怎么都跑不过,只能换回0.9的版本了。

三:解决搜索动态内容的问题:
     需要注意在conf下面的2个文件:regex-urlfilter.txt,crawl-urlfilter.txt
     # skip URLs containing certain characters as probable queries, etc.
     -[?*!@=] (-改+)
     这段意思是跳过在连接中存在? * ! @ = 的页面,因为默认是跳过所以,在动态页中存在?一般按照默认的是不能抓取到的。可以在上面2个文件中都修改成:
     # skip URLs containing certain characters as probable queries, etc.
     # -[?*!@=]
     另外增加允许的一行
     # accept URLs containing certain characters as probable queries, etc.
     +[?=&]
    意思是抓取时候允许抓取连接中带 ? = & 这三个符号的连接
     注意:两个文件都需要修改,因为NUTCH加载规则的顺序是crawl-urlfilter.txt-> regex-urlfilter.txt

四:运行爬虫,抓取内容:
     打开Cygwin,
     在命令行窗口中输入:  cd nutch的目录/bin
     执行命令:
        sh nutch crawl urls -dir e:/index -depth 3 -threads 4 -topN 50 >& ./log.txt
说明:
-dir  dirnames      设置保存所抓取网页的目录.
-depth  depth   表明抓取网页的层次深度
-delay  delay    表明访问不同主机的延时,单位为“秒”
-threads  threads      表明需要启动的线程数
-topN number    在每次迭代中限制爬行的头几个链接数,默认是Integer.MAX_VALUE
运行结束后,查看log.txt日志,会有爬虫检索网页的详细信息。
     问题的解决:运行的过程中报错:
Stopping at depth=0 – no more URLs to fetch.
No URLs to fetch – check your seed list and URL filters.
在urls的nutch.txt中再添加一个URL即可,这个是nutch0.9的bug(如果是1.0这个地方不知道怎么搞定,所以改回0.9来部署了。

五:部署到tomcat下面:
     1:配置nutch-0.9.war包中的文件
a:修改nutch-0.9.war\WEB-INF\web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>

<?xml version="1.0" encoding="UTF-8"?>
b:修改nutch-0.9.war\WEB-INF\class\nutch-site.xml
注意:不要让你的config中有2个<configuration>,否则的话检索不出来东西。
<configuration>
  <property>
    <name>searcher.dir</name>
    <value>e:/index</value>
  </property>
</configuration>
     2:把应用部署到tomcat的webapps下面,启动tomcat,访问应用:http://localhost:8080/nutch-0.9就可以得到以下界面:

   
 输入访问的条件后,结果如下:

 

分享到:
评论

相关推荐

    nutch 0.9 版(包含war,bin,src可直接部署使用)

    Nutch 0.9 是一个开源的网络爬虫项目,它是Apache软件基金会的一部分,主要用于抓取、解析和索引互联网上的网页。这个版本包含了多个关键组件,使得用户可以直接部署和使用,无需自行编译源代码。以下是关于Nutch ...

    nutch09版本亲测好用

    Nutch 0.9 是一个历史悠久的开源搜索引擎项目,它主要关注网络爬虫和网页抓取方面的技术。这个版本在当时提供了稳定且功能强大的爬虫框架,被广泛用于数据采集和分析任务。以下是对 Nutch 0.9 版本的一些关键知识点...

    Eclipse中编译Nutch-0.9

    在本篇文章中,我们将深入探讨如何在Eclipse环境中编译Nutch-0.9,一个开源的网络爬虫项目,用于抓取互联网上的网页信息。文章涵盖的关键知识点包括:环境准备(JDK/JRE版本需求)、源码获取与项目导入、解决编译...

    nutch 0.9分页代码(粘贴可用)

    Nutch 是一个开源的网络爬虫项目,它提供了高度可扩展且可靠的网页抓取框架。随着互联网的发展,数据量日益增大,如何高效地处理这些数据成为了一个重要的问题。分页作为数据展示的一种常见方式,在提升用户体验的...

    eclipse配置nutch,eclipse配置nutch

    在IT领域,Apache Nutch是一款开源的Web爬虫项目,用于抓取网页并进行索引。而Eclipse作为一款流行的集成开发环境(IDE),被广泛应用于Java开发中。本文将详细解析如何在Eclipse中配置Nutch,以便于开发者更好地...

    nutch-0.9 环境搭建所需最小cygwin

    6. **测试Nutch**:为了验证Nutch是否正常工作,你可以先让Nutch抓取一些简单的网页,然后使用Nutch生成的索引文件在本地Lucene搜索服务中搜索内容,查看是否能正确返回结果。 在实际操作中,可能会遇到一些问题,...

    Nutch在Tomcat下的部署.doc

    Nutch 是一个开源的网络爬虫项目,用于抓取互联网上的网页并建立索引,而Tomcat是一款流行的Java应用服务器,常用来部署Web应用程序。在本文中,我们将深入探讨如何在Tomcat环境下部署Nutch以及解决相关问题。 首先...

    实验报告(利用Nutch和IKanalyzer构造中文分词搜索引擎)

    通过执行bin/nutch crawl命令,可以开始网页抓取,并在nutch-0.9目录下生成crawl文件夹存储结果。 然后,测试Nutch自带的搜索引擎。将nutch-0.9-war部署到Tomcat服务器上,并对nutch-site.xml进行配置。在运行过程...

    nutch0。9版本

    1. **Web 爬虫(Web Crawler)**:Nutch 的核心功能之一是其高效的 Web 爬虫,能够自动发现并抓取互联网上的网页。这个爬虫使用种子 URL 开始,通过解析 HTML 页面中的链接进行深度遍历,持续抓取新的页面。Nutch 的...

    nutch网页爬取总结

    3. **Segments**:Nutch 抓取的网页被分割成多个 Segment,每个 Segment 包含一组相关的网页。Segment 是抓取过程中的中间产物,可以单独处理和分析。 4. **Indexes**:最后生成的 Index 包含了对网页内容的分析结果...

    windows下nutch的安装.pdf

    Nutch能够抓取网站并建立索引,实现全文搜索功能。Cygwin是一个在Windows环境下运行的类Unix模拟环境,它提供一个庞大的类Unix工具集合,通过它能够在Windows上运行许多Linux软件。对于想要在Windows系统上使用Nutch...

    rtf-parse.jar、jid3lib-0.5.4.jar

    在编译`Nutch`项目时,可能需要依赖各种`jar`库,包括`rtf-parse.jar`和`jid3lib-0.5.4.jar`,因为`Nutch`可能需要处理包含RTF格式的网页或者抓取的MP3等音频文件。 `rtf-parse.jar`和`jid3lib-0.5.4.jar`在`Nutch`...

    Nutch 1.3 学习笔记

    Nutch 1.3 是一款强大的、开源的网页抓取工具,专为大规模互联网数据抓取设计。它不仅能够收集网页数据,还能进一步分析、构建索引,从而提供高效的数据查询接口。Nutch 的核心优势在于其对Hadoop的深度集成,利用...

    nutch安装配置文档

    Nutch 是一款基于 Java 开发的开源 Web 搜索引擎框架,它提供了强大的搜索引擎功能,包括网页抓取、索引构建以及搜索服务等。本篇文章将根据提供的文档标题、描述、标签及部分内容,详细介绍 Nutch 的安装与配置步骤...

    Nutch 0.8笔记NUTCHNUTCH

    Nutch 是一个开源的、基于 Lucene 的网络搜索引擎项目,它提供了一套完整的搜索引擎解决方案,包括网页抓取、索引和搜索功能。Nutch 0.8 版本尤其值得关注,因为它完全使用 Hadoop 进行了重写,从而充分利用了 ...

    基于Apache Nutch和Htmlunit的扩展实现AJAX页面爬虫抓取解析插件.zip

    【标题】"基于Apache Nutch和Htmlunit的扩展实现AJAX页面爬虫抓取解析插件.zip" 提供了一个深入的爬虫项目实例,旨在解决AJAX动态网页内容的抓取问题。Apache Nutch是一个开源的网络爬虫框架,而Htmlunit是一个无头...

    基于ApacheNutch和Htmlunit的扩展实现AJAX页面爬虫抓取解析插件nutch-htmlunit.zip

    基于Apache Nutch 1.8和Htmlunit组件,实现对于AJAX加载类型页面的完整页面内容抓取解析。 According to the implementation of Apache Nutch 1.8, we can't get dynamic ...

    Nutch全文搜索学习笔记

    通过以上步骤,我们可以成功安装并配置Nutch,实现网页抓取、内容解析、索引创建及全文检索等功能。此外,针对中文支持进行了特别配置,以解决乱码问题。这些组件和配置构成了Nutch的核心架构,为实现高效全文搜索...

    nutch解决搜索结果高亮和网页快照链接无效及网页变形

    2. **快照链接无效**:Nutch 在抓取网页时会创建网页快照,方便用户查看网页的历史状态。如果快照链接失效,可能是由于URL重定向、网页结构改变或存储问题导致。为了解决这个问题,可以: - 检查 Nutch 的抓取日志...

    nutch

    总结来说,Nutch 是一个强大的开源网络爬虫工具,借助 Hadoop 实现了大规模的网页抓取和搜索功能。学习和使用 Nutch 可以帮助开发者深入了解 Web 数据抓取和搜索引擎的工作原理,对于大数据处理和信息提取有着重要的...

Global site tag (gtag.js) - Google Analytics