原文作者:刘夏(博客:http://www.beyondc.cn)
我想说的是----heritrix爬取特定的格式!
这是我对于搜索引擎的学习来说,最具体的一件事了。但,因为宿舍不能上网了,所以暂且对于爬虫部分都得搁浅了,开始正式阅读lucene部分的源代码了。 不管对于搜索引擎以后的学习会失败还是小有成功。我想,我以后都会不断的学习开源项目,现在真正的喜欢上了这个词。现在唯一有些不安的就是,java真的真的已经是昔日英雄,不再辉煌了……
看了《开发自己的搜索引擎》一书的朋友都知道,对于163或者pconline的解析以及爬取特定的格式都是在postprocess这个处理链之上。本以为对于url加以判断,对于不符合要求的都不放入“时刻表”之中,这样便可以实现对于特定格式的爬取。 但是,现在看来这是错的,因为,这样随时可能断了搜索链。如果你对heritrix研究过一段日子,你就应该明白。在postprocess这个地方,我唯一能有收获的是---能够排除特定的格式。具体的实现方法在我博客里写过,不过真的是个很差的实现。 对于extractor那个处理环节加以过滤也是无法成功的。 经过了很久,徘徊了很久,我还是决定了去研究postprocess下面更接近源代码的层---文件输入输出层。在writtermirrorprocess那里面修改代码,便可以实现对于特定格式爬取。而且非常完美,唯一的“缺陷”就是必须得爬取html这个页面,但谁又能说自己不要这个页面呢?呵呵……
具体的实现以后有时间就截图告诉大家吧,总之思路就是在witter层来处理爬虫,使特定的格式才写到自己的本地磁盘。 接下来,如果有时间,就写出对于搜索引擎学习的剩余部分,例如lucene索引的创建,jdbc的学习,web界面的修改等等。 宿舍不能上网了,真的真的,好不方便啊。痛苦ing。。希望暑假快来。。