本文是关于Heritrix的优化配置的。尽管我们组的工作已经基本上完成了,但是我们仍然在坚持进行持续性的改进,因为这总是能够让我们学到新的东西。 之前我们在 我们得到的Heritrix 基于这个想法,我们仔细研究了Heritrix的文档,并且对Heritrix的配置进行了改进。 1. Modules -> Writer Processor 我们将Writer Processor改回了ARCWriterProcessor,因为将数据保存为ARC文件能够保持网页基本信息(URL等)的原貌,便于我们此后的数据分析。 2. Modules -> Extractor 我们只对html文件中的链接感兴趣, 所以去除了以下三个extractor:
3. Submodules -> midfetch-decide-rules 添加org.archive.crawler.deciderules.FilterDecideRule 到 midfetch-decide-rules, 再添加org.archive.crawler.filter.ContentTypeRegExpFilter 和 org.archive.crawler.deciderules.DecidingFilter, 然后添加org.archive.crawler.deciderules.FetchStatusDecideRule 到 DecidingFilter. 添加后的效果图如下: 4. Submodules -> Archiver#decide-rules 同3. 5. Settings -> midfetch-decide-rules 修改regexp的值为"text/html.*"(没有引号) 修改target-status的值为200 这样Heritrix就不会下载除了Content-Type为text/html并且Status Code为200之外的其它文件. 修改后的效果图为: 6. Settings -> Archiver#decide-rules 同5. 这样Heritrix就不会保存除了Content-Type为text/html并且Status Code为200之外的其它文件的HTTP Head信息. 最后, 我们用这个设置重新进行了一遍抓取工作, 得到的报告如下: 从报告中可以看到, 我们只抓取了849MB的数据, 其中text/html类型的数据为848MB, 其它类型文件只有1MB左右, 应该只是些HTTP Header信息. 总用时16h19m, 比上次少了大约3个小时. 按照我们之前的预测应该能节约将近一半的时间, 但是实际节约的时间小于预期, 可能和网络状况有关. 参考: A. Common Heritrix Use Cases |
|
来自: 复杂网络621 > 《Heritrix》