heritrix学习总结

转] heritrix学习总结
JAVA   2009-10-03 21:59   阅读17   评论0  
字号:    
1 下载 和 解压 
http://crawler.archive.org/下载解压到本地 E:\heritrix-1.14.3 

2 配置环境变量 
HERITRIX_HOME=E:\heritrix-1.14.3 
path后追加 ;%HERITRIX_HOME%\bin 

3 配置 heritrix 

  拷贝E:\heritrix-1.14.3\conf\jmxremote.password.template到E:\heritrix-1.14.3下 
并从命名为jmxremote.password 

  修改E:\heritrix-1.14.3\conf下的heritrix.properties 文件 
  用UrltraEditor或其他的文本编辑工具打开,找到 heritrix.cmdline.admin = 
  admin是空的 这是登陆heritrix UI的用户名和密码 格式为 username:password 
  heritrix.cmdline.admin = admin:admin 
  
  heritrix.cmdline.port = 8080 配置端口 为了不和tomcat的8080端口冲突我改为8888 

  用winrar 打开E:\heritrix-1.14.3下的heritrix-1.14.jar文件,将其目录中的profiles文件夹拷到 

E:\heritrix-1.14.3\conf目录下即完成heritrix的配置 

(用些网友说要将jmxremote.password文件的属性改为只读,我不知道为什么?,官方文档里也没说) 

4 启动heritrix 
  开始 -》运行 -》cmd 打开cmd端口 
  输入heritrix --admin=admin:admin 
  --admin heritrix的启动参数 必须的* 
  
  弹出一个Heritrix窗口   打印。。。。。。。。。。。。。Heritrix version: 1.14.3 

  cmd窗口打印出 
  2009-04-15 星期三 10:42:03.04 Starting heritrix 
  Heritrix 1.14.3 is running. 
  Web console is at: http://127.0.0.1:8888 
  Web console login and password: admin/admin 
表示启动完成 

5 抓取任务 

  用浏览器打开http://127.0.0.1:8888 输入用户名和密码  
  选Jobs选项, 在Create New Job 下选择 With defaults 子项 

  Create new crawl job based on default profile 
  
  Name of new job 和Description 随便写 
  Seeds 填写要抓取的网站 http://www.verycd.com/  (必须以/结尾) 

单击Modules 按钮  

Select Modules and Add/Remove/Order Processors 

从上而下,可以看到,需要配置的内容共有7项 

1.CrawlScope 
   CrawlScope用于配置当前应该在什么范围内抓取网页链接。比如,如果选择BroadScope,则表示当前  

抓 取的范围不受限制,但如果选择了HostScope,则表示抓取的范围在当前的Host内。 

选择 org.archive.crawler.scope.BroadScope 单击change按钮即可 

2.URI Frontier 
   URI Frontier是一个URL的处理器,它将决定下一个被处理的URL是什么。同时,它还会将经由处理器  

链所解析出来的URL加入到等待处理的队列中去。在例子中,使用BdbFrontier类来做为处理器,全权   

掌管URL的分配 

   选择 org.archive.crawler.frontier.BdbFrontier 单击change按钮即可 

3.Pre Processors 
   这个队列中,所有的处理器都是用来对抓取时的一些先决条件做判断的。比如判断robot.txt的信息等 

,它是整个处理器链的入口 

选择org.archive.crawler.prefetch.Preselector 和 

org.archive.crawler.prefetch.PreconditionEnforcer 两项 (在下拉列表中选择好,点击Add添加即可 

) 

4.Fetcher:从名称上看,它用于解析网络传输协议,比如解析DNS、HTTP或FTP等 
  
  选择org.archive.crawler.fetcher.FetchDNS 
org.archive.crawler.fetcher.FetchHTTP 两个单击Add添加 


5.Extractors 
  它主要用是于解析当前获取到的服务器返回内容,这些内容通常是以字符串形式缓存的。在这个队列中 

,包括了一系列的工具,如解析HTML、CSS等。在解析完毕,取出页面中的URL后,将它们放入队列中,等 

待下次继续抓取 

org.archive.crawler.extractor.ExtractorHTTP   
org.archive.crawler.extractor.ExtractorHTML 
org.archive.crawler.extractor.ExtractorCSS 
org.archive.crawler.extractor.ExtractorJS 
org.archive.crawler.extractor.ExtractorSWF 

6.Writers 
Writers主要是用于将所抓取到的信息写入磁盘。通常写入磁盘时有两种形式,一种是采用压缩的方式写 

入,在这里被称为Arc方式,另一种则采用镜象方式写入。当然处理起来,镜象方式要更为容易一些。 
默认的是Arc方式 点击旁边的Remove 删除 在下拉框中选择 

org.archive.crawler.writer.MirrorWriterProcessor 单击Add添加 

7 Post Processors 
  在整个抓取解析过程结束后,进行一些扫尾的工作,比如将前面Extractor解析出来的URL有条件的加入 

到待处理队列中去 

org.archive.crawler.postprocessor.CrawlStateUpdater 
org.archive.crawler.postprocessor.LinksScoper 
org.archive.crawler.postprocessor.FrontierScheduler 单击Add添加 

【在设置时,可以看见在队列的右侧总是有“Up”、“Down”和“Remove”这样的操作是因为在处理器链 

的设置过程中,每一个队列中的处理器都是要分先后顺序的】 

  设置运行时的参数 
  
  在设置完处理链后,选择Jobs菜单的“Settings”项进入运行参数设置页面 . 进入运行参数设置页面 

后,有很多可以设定的参数,对于需要了解详情的设置,请点击设置框左边的“?”号,可看到弹出的帮 

助信息。这里只要更改 “HTTP-Header”项中的内容,更改其属性值user-agent和 from 
其中user-agent中的 PROJECT_URL_HERE 对应自己的完整URL地址,(http://192.168.16.128) 
from中设置自己的合法email地址 只需是格式正确的邮件地址就可以 
@VERSION@是设置heritrix的版本 填上1.14.3 
user-agent Mozilla/5.0 (compatible; heritrix/1.14.3 +http://192.168.16.128) 

设置完成后单击“Submit job”链接 会回到Job是页面 

显示了“Job created”,这表示刚才所设置的抓取任务已经被成功的建立。同时,在下面的“Pending 

Jobs”一栏,可以清楚的看到刚刚被创建的Job,它的状态目前为“Pending”。 

最后启动这个任务。回到“Console”界面上,可以看到刚刚创建的任务已经显示了出来,等待我们开始 

它。 
单击面版中的“Start”链接,就会将此时处于“Pending”状态的抓取任务激活,令其开始抓取 
此时,面版中出现了一条抓取状态栏,它清楚的显示了当前已经被抓取的链接数量 


抓取完毕后在E:\heritrix-1.14.3\目录下生成以个jobs目录 
进入jobs 可以看到 verycd-20090415024225919 其中verycd就是job的名称 
进去  里面有一个mirror目录 是因为在前面设置了Writer的类型为MirrorWriter 
里面每一个站点的URL地址即为保存的目录名称 


至此 heritrix抓取任务就到此结束... 
posted on 2009-11-04 18:47  tankzhouqiang  阅读(343)  评论(0编辑  收藏  举报