Nutch 0.9笔记

本文介绍如何快速启动 Nutch 0.9 版本进行网页抓取,包括配置 URL 过滤规则、设置爬虫属性及使用 Ant 脚本执行爬取任务等关键步骤。
      一直留意Lucene,Nutch的进展,最近这两个项目都发展得非常快,Lucne已发展到 2.1,Nutch已发展到 0.9,改进了很多,令人欣喜。
      今天小试了一下Nutch-0.9,笔记如下:
      
1、解压Nutch包,在Nutch根目录下建目录urls,里面建一些包含URL的文本如urlt.txt,一行一个URL,内容如:http://www.blogjava.net
http://www.iteye.com/


2、修改conf目录下的 crawl-urlfilter.txt,片断如下:
# accept hosts in MY.DOMAIN.NAME
# +^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
+^http://www.blogjava.net/
+^http://www.iteye.com/
+^http://lucene.apache.org/

3、修改conf目录下的 nutch-site.xml,内容如下:
None.gif <? xml version="1.0" ?>
None.gif
<? xml-stylesheet type="text/xsl" href="configuration.xsl" ?>
None.gif
None.gif
<!--  Put site-specific property overrides in this file.  -->
None.gif
None.gif
< configuration >
None.gif
None.gif    
< property >
None.gif      
< name > http.agent.name </ name >
None.gif      
< value > Nutch </ value >
None.gif      
< description > HTTP 'User-Agent' request header. MUST NOT be empty - 
None.gif      please set this to a single word uniquely related to your organization.
None.gif
None.gif      NOTE: You should also check other related properties:
None.gif
None.gif        http.robots.agents
None.gif        http.agent.description
None.gif        http.agent.url
None.gif        http.agent.email
None.gif        http.agent.version
None.gif
None.gif      and set their values appropriately.
None.gif
None.gif      
</ description >
None.gif    
</ property >
None.gif
None.gif    
< property >
None.gif      
< name > http.robots.agents </ name >
None.gif      
< value > Nutch,* </ value >
None.gif      
< description > The agent strings we'll look for in robots.txt files,
None.gif      comma-separated, in decreasing order of precedence. You should
None.gif      put the value of http.agent.name as the first agent name, and keep the
None.gif      default * at the end of the list. E.g.: BlurflDev,Blurfl,*
None.gif      
</ description >
None.gif    
</ property >
None.gif
None.gif    
< property >
None.gif      
< name > http.agent.description </ name >
None.gif      
< value > Nutch Search Engineer </ value >
None.gif      
< description > Further description of our bot- this text is used in
None.gif      the User-Agent header.  It appears in parenthesis after the agent name.
None.gif      
</ description >
None.gif    
</ property >
None.gif
None.gif    
< property >
None.gif      
< name > http.agent.url </ name >
None.gif      
< value > http://lucene.apache.org/nutch/bot.html </ value >
None.gif      
< description > A URL to advertise in the User-Agent header.  This will 
None.gif       appear in parenthesis after the agent name. Custom dictates that this
None.gif       should be a URL of a page explaining the purpose and behavior of this
None.gif       crawler.
None.gif      
</ description >
None.gif    
</ property >
None.gif
None.gif    
< property >
None.gif      
< name > http.agent.email </ name >
None.gif      
< value > nutch-agent@lucene.apache.org </ value >
None.gif      
< description > An email address to advertise in the HTTP 'From' request
None.gif       header and User-Agent header. A good practice is to mangle this
None.gif       address (e.g. 'info at example dot com') to avoid spamming.
None.gif      
</ description >
None.gif    
</ property >
None.gif
None.gif
</ configuration >
None.gif

注意:在nutch-0.9.jar里面已包含nutch-site.xml,  conf目录下的文件都复制过到classpath根下,如果是在WEB环境下运行classpath下的nutch-site.xml会优先加载,如果在在Application环境运行,应把如上nutch-site.xml打入到nutch-0.9.jar包里,否则,上面的一些属性为空不能运行。


4、在Windows下运行Nutch,很简单,只要你能执行Crawl这个类就行,写一个Ant脚本放在Nuthc的根目录下执行它就OK,内容如下:
None.gif < project  name ="nutch-crawl"  default ="crawl"  basedir ="." >
None.gif    
None.gif    
< property  name ="lib.dir"   location ="lib" />
None.gif    
< property  name ="conf.dir"   location ="conf" />
None.gif    
None.gif
None.gif    
< path  id ="project.classpath" >
None.gif        
< fileset  dir ="."  includes ="nutch-*.jar" />
None.gif        
< fileset  dir ="lib"   />
None.gif        
< pathelement  path ="." />
None.gif        
< pathelement  path ="${conf.dir}" />
None.gif    
</ path >
None.gif    
None.gif    
None.gif    
< target  name ="crawl"   >
None.gif        
< echo > crwaling startingdot.gif </ echo >
None.gif        
< property  name ="JVM.extra.args"  value ="-Xmx512m"   />
None.gif        
< java  classname ="org.apache.nutch.crawl.Crawl"  classpathref ="project.classpath"  fork ="true" >
None.gif            
< jvmarg  line ="${JVM.extra.args}" />
None.gif            
< arg  value ="C:/dev-tools/nutch-0.9/urls" />
None.gif            
< arg  value ="-dir" />
None.gif            
< arg  value ="C:/dev-tools/nutch-0.9/crawl" />
None.gif            
< arg  value ="-depth" />
None.gif            
< arg  value ="3" />
None.gif            
< arg  value ="-threads" />
None.gif            
< arg  value ="15" />
None.gif        
</ java >
None.gif        
< echo > crwaling finisheddot.gif </ echo >
None.gif    
</ target >
None.gif    
None.gif
</ project >

至此,如无意外,Nutch已经欢快地运行起来,最后在crawl目录下你会发现你想要的东西,Enjoy it! 114022.html

小鱼 2007-04-27 11:09 发表评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值