`

nutch 1.2 增量爬取url 完成 recrawl.sh 编写

阅读更多

# runbot script to run the Nutch bot for crawling and re-crawling.
# Usage: bin/runbot [safe]
#        If executed in 'safe' mode, it doesn't delete the temporary
#        directories generated during crawl. This might be helpful for
#        analysis and recovery in case a crawl fails.
#
# Author: Susam Pal

depth=4
threads=8
adddays=5
topN=1500000 #Comment this statement if you don't want to set topN value

# Arguments for rm and mv
RMARGS="-rf"
MVARGS="--verbose"

# Parse arguments
if [ "$1" == "safe" ]
then
  safe=yes
fi

if [-z "$NUTCH_HOME" ]
then
  NUTCH_HOME=.
  echo runbot: $0 could not find environment variable NUTCH_HOME
  echo runbot: NUTCH_HOME=$NUTCH_HOME has been set by the script  
else
   echo runbot: $0 found environment variable NUTCH_HOME=$NUTCH_HOME  
fi
NUTCH_HOME=/cygdrive/f/nutch
echo print nutch: $NUTCH_HOME

if [ -z "$CATALINA_HOME" ]
then
  CATALINA_HOME=/cygdrive/e/tomcat
  echo runbot: $0 could not find environment variable NUTCH_HOME
  echo runbot: CATALINA_HOME=$CATALINA_HOME has been set by the script
else
  echo runbot: $0 found environment variable CATALINA_HOME=$CATALINA_HOME
fi

if [ -n "$topN" ]
then
  topN="-topN $topN"
else
  topN=""
fi

steps=8
echo "----- Inject (Step 1 of $steps) -----"
$NUTCH_HOME/bin/nutch inject crawl/crawldb urls

echo "----- Generate, Fetch, Parse, Update (Step 2 of $steps) -----"
for((i=0; i < $depth; i++))
do
  echo "--- Beginning crawl at depth `expr $i + 1` of $depth ---"
  $NUTCH_HOME/bin/nutch generate crawl/crawldb crawl/segments $topN \
      -adddays $adddays
  if [ $? -ne 0 ]
  then
    echo "runbot: Stopping at depth $depth. No more URLs to fetch."
    break
  fi
  segment=`ls -d crawl/segments/* | tail -1`

  $NUTCH_HOME/bin/nutch fetch $segment -threads $threads
  if [ $? -ne 0 ]
  then
    echo "runbot: fetch $segment at depth `expr $i + 1` failed."
    echo "runbot: Deleting segment $segment."
    rm $RMARGS $segment
    continue
  fi

  $NUTCH_HOME/bin/nutch updatedb crawl/crawldb $segment
done

echo "----- Merge Segments (Step 3 of $steps) -----"
$NUTCH_HOME/bin/nutch mergesegs crawl/MERGEDsegments crawl/segments/*
if [ "$safe" != "yes" ]
then
  rm $RMARGS crawl/segments
else
  rm $RMARGS crawl/BACKUPsegments
  mv $MVARGS crawl/segments crawl/BACKUPsegments
fi

mv $MVARGS crawl/MERGEDsegments crawl/segments

echo "----- Invert Links (Step 4 of $steps) -----"
$NUTCH_HOME/bin/nutch invertlinks crawl/linkdb crawl/segments/*

echo "----- Index (Step 5 of $steps) -----"
$NUTCH_HOME/bin/nutch index crawl/NEWindexes crawl/crawldb crawl/linkdb \
    crawl/segments/*

echo "----- Dedup (Step 6 of $steps) -----"
$NUTCH_HOME/bin/nutch dedup crawl/NEWindexes

echo "----- Merge Indexes (Step 7 of $steps) -----"
$NUTCH_HOME/bin/nutch merge crawl/NEWindex crawl/NEWindexes

echo "----- Loading New Index (Step 8 of $steps) -----"
${CATALINA_HOME}/bin/shutdown.sh

if [ "$safe" != "yes" ]
then
  rm $RMARGS crawl/NEWindexes
  rm $RMARGS crawl/index
else
  rm $RMARGS crawl/BACKUPindexes
  rm $RMARGS crawl/BACKUPindex
  mv $MVARGS crawl/NEWindexes crawl/BACKUPindexes
  mv $MVARGS crawl/index crawl/BACKUPindex
fi

mv $MVARGS crawl/NEWindex crawl/index

${CATALINA_HOME}/bin/startup.sh

echo "runbot: FINISHED: Crawl completed!"
echo ""

 

//断电停止工作后,再执行这个。

// 刚开始我也不怎么喜欢shell这种方式的代码,不过幸好邻居是搞shell编程的,经它一分析,原来shell也是这么简单。

 

//来源:http://wiki.apache.org/nutch/Crawl

 

分享到:
评论
2 楼 linbaoji 2011-10-20  
1.3 的RUNBOT.sh 有没的话请发我一分。。不胜感激 。。
1 楼 flg717111 2011-09-05  
好厉害 前辈,我现在正在学习搭建那个nutch1.2
呢,然后搭建好已经能查询了,我是在win7下用cygwin执行的命令,现在想要那个recrawl呢,但是根据你给出的脚本,总是解决不了,我想大侠能不能不能讲的再详细一些,在哪儿建shell文件,怎么在crywin下执行,谢谢

相关推荐

    nutch1.2 java的project

    Nutch 1.2 是一个开源的Web爬虫项目,基于Java开发,它主要用于抓取互联网上的网页并进行索引。这个项目是Apache Lucene的一部分,提供了完整的搜索引擎解决方案。Eclipse 是一个流行的Java集成开发环境(IDE),在...

    Nutch开源搜索引擎增量索引recrawl的终极解决办法

    ### Nutch开源搜索引擎增量索引recrawl的终极解决办法 #### 知识点解析: **Nutch与Hadoop集成下的recrawl策略** Nutch是一款基于Java的开源搜索引擎框架,能够爬取网页、提取数据并建立索引。它利用Apache ...

    nutch1.2 java project

    Nutch 1.2 是一个开源的网络爬虫项目,基于 Java 编写,用于抓取互联网上的网页并建立索引。这个项目是 Apache Software Foundation 的一部分,它为大规模的数据采集提供了强大的工具。Nutch 1.2 版本相对于早期版本...

    apache-nutch-1.4-bin.tar.gz

    - **改进的爬取策略**:Nutch 1.4 在URL调度策略上有所优化,提高了抓取效率和覆盖率。 - **更好的性能**:对内存管理和爬取速度进行了优化,降低了资源消耗。 - **更完善的插件体系**:支持更多的第三方插件,如...

    Nutch 1.2源码阅读

    `NutchConfiguration`类位于`org.apache.nutch.util`包中,其中的`createCrawlConfiguration()`方法会调用`addNutchResources()`添加配置资源。具体而言,会加载`nutch-default.xml`、`crawl-tool.xml`(可选)和`...

    nutch1.2源码

    1. **更好的爬取策略**:Nutch 1.2优化了URL的抓取优先级算法,使得重要的网页能更快被发现和抓取。 2. **性能提升**:通过优化代码和更新依赖库,提高了爬取和索引的速度。 3. **增强的可配置性**:增加了更多的...

    myeclipse8.5导入nutch1.2源码

    ### MyEclipse 8.5 导入 Nutch 1.2 源码的知识点详解 #### 一、背景介绍 Nutch 是一个高度可扩展且开放源代码的网络爬虫项目,由 Apache 软件基金会维护。它不仅能够抓取网页,还能进行全文检索,通常运行在 Linux...

    apache-nutch-2.3.1-src.tar.gz

    4. **URL 管理**:Nutch 使用 URL 的数据库来跟踪已抓取、待抓取和已排除的网页,通过种子文件启动爬虫。 5. **配置文件**:如 `conf/nutch-default.xml` 和 `conf/nutch-site.xml`,分别包含 Nutch 的默认配置和...

    nutch 初学文档教材

    1.1什么是nutch..1 1.2研究nutch的原因...1 1.3 nutch的目标..1 1.4 nutch VS lucene.....2 2. nutch的安装与配置.....3 2.1 JDK的安装与配置.3 2.2 nutch的安装与配置........5 2.3 tomcat的安装与配置......5 3. ...

    Nutch入门.rar

    1.1什么是nutch..1 1.2研究nutch的原因...1 1.3 nutch的目标..1 1.4 nutch VS lucene.....2 2. nutch的安装与配置.....3 2.1 JDK的安装与配置.3 2.2 nutch的安装与配置........5 2.3 tomcat的安装与配置........

    apache-nutch-1.5.1-bin.tar.gz

    Nutch是一款刚刚诞生的完整的开源搜索引擎系统,可以结合数据库进行索引,能快速构建所需系统。Nutch 是基于Lucene的,Lucene为 Nutch 提供了文本索引和搜索的API,所以它使用Lucene作为索引和检索的模块。Nutch的...

    Nutch开源搜索引擎增量索引recrawl的终极解决办法续

    ### Nutch开源搜索引擎增量索引recrawl的终极解决办法续 #### 一、背景与问题概述 在前一篇文章中,我们探讨了Nutch开源搜索引擎在进行增量索引更新(recrawl)时遇到的问题及其初步解决方案。然而,在实际操作...

    nutch1.2测试文档

    nutch1.2测试文档

    nutch-1.2.war

    nutch官方简单案例,请版本是nutch-1.2.war

    nutch_recrawl_mergecrawl.rar_nutch_nutch recrawl_recrawl

    这个名为 "nutch_recrawl_mergecrawl.rar" 的压缩包包含两个关键组件:`recrawl` 和 `mergecrawl`,它们分别针对索引更新和多网站查询的合并。 **1. Nutch 简介** Nutch 是由 Apache 软件基金会维护的一个项目,其...

    apache-nutch-1.3-src.tar.gz_nutch_nutch-1.3.tar.gz

    Apache Nutch 是一个开源的网络爬虫项目,用于抓取互联网上的网页并建立索引,以便进行全文搜索。Nutch 1.3 是该项目的一个稳定版本,提供了许多关键功能和改进。这个源码包 "apache-nutch-1.3-src.tar.gz" 和 ...

    Windows下cygwin+MyEclipse 8.5+Nutch1.2+Tomcat 6.0

    ### Windows下cygwin+MyEclipse 8.5+Nutch1.2+Tomcat 6.0 本文旨在详细介绍如何在Windows环境下搭建基于cygwin、MyEclipse 8.5、Nutch 1.2及Tomcat 6.0的开发环境,并对每个步骤进行深入解析。 #### 一、Cygwin的...

    apach-nutch-1.9-bin.tar.gz

    - **种子列表**:首先,你需要提供一个包含初始URL的种子列表,这些URL将被Nutch用来开始爬取。 - **抓取**:Nutch使用HTTP协议下载网页,同时记录每个URL的状态(如已抓取、待抓取等)。 - **解析**:抓取的HTML...

    apache-nutch-1.6-src.tar.gz

    主要的源代码文件位于`src/java`目录下,按照包结构组织,例如`org.apache.nutch.crawl`、`org.apache.nutch.indexer`和`org.apache.nutch.parse`等。 2. **配置文件**:在`conf`目录下,有默认的Nutch配置文件,如...

    nutch网页爬取总结

    **Nutch 网页爬取总结** **前言** Nutch 是一个开源的网络爬虫项目,由 Apache 基金会维护,主要用于构建大规模的搜索引擎。它提供了从互联网抓取网页、分析链接关系、生成倒排索引等一系列功能。Nutch 的设计目标...

Global site tag (gtag.js) - Google Analytics