学习heritrix的过程中遇到了以下问题,想了很久都不明白,所以恳求大家给点办法,问题如下1. Heritrix中是如何处理last-modified的,即如何解决网页去重和更新问题的,我在setting选项里填写了send-if-modified-since,send-if-none-match,可是它们是如何在代码里反映的?,也就是说那个类的哪些代码处理了这些问题?我查到HTTPMidFetchUnchangedFilter里处理了这些,可我在其内部设断点,在外部进行调试,程序抓了很多网页都没有调用这个类。  2.HttpRecorder里的getHttpRecorder(),返回了字符串资源,可是它是如何实现对资源的抓取的,我查看了这个函数的内部代码,感觉很茫然,像什么都没做,没有我所预想的socket和http connection等的具体代码实现。  这两个问题困惑了我很久。所以请高手给指点一下,谢谢了

解决方案 »

  1.   

    http://www.cnblogs.com/hejycpu/archive/2009/01/27/1381043.html
      

  2.   

    1、网页去重的问题应该是在Post-processing chain里面处理的,它有个filter,默认的实现是底层用bdb存储url,可以加bloomfilter进行过滤
    2、对于没有见到socket这个问题,因为它用的是HttpClient抓取网页,你需要去查看HttpClient的源码才行,这里http://hc.apache.org/httpclient-3.x/