WebLech[1]是今天的一个意外发现,虽然很早就下过它的源码,但版本号0.0.3着实无法让人提起兴趣。《迅速搭建全文搜索平台-开源搜索引擎实战教程》[2]这本书里简要提到了WebLech。通过这些描述,我认为它可以支持简单的更新爬取,而且它的源码层次清晰,可以通过修改配置文件进行自定义爬取。只不过它没有提供数据抽取的功能,以后再仔细研究。
那么回过头来调试Heritrix-1.14.3。参考过网络上一些资料,大多很麻烦,包括书本中的教程[3]。结合我自己的不断试验,总算找到了相对简易的方法。
在Eclipse中配置Heritrix:
1. 在Eclipse下建立名为Heritrix的Java工程项目,把heritrix-1.14.3-src.zip[4]解压到临时文件夹下,将临时文件夹下的lib目录、src目录下的所有文件夹复制到Heritrix项目下的根目录下;
2. 在Heritrix项目下,将Heritrix/conf/下的modules目录剪切到Heritrix/下,将Heritrix/java目录下的所有文件剪切到Heritrix/下;
3. 将Heritrix/lib下的所有的jar文件导入工程;
4. 在Eclipse下运行主类org.archive.crawler.Heritrix。

直接运行Heritrix:
1. 下载heritrix-1.14.3.zip后,将其解压到C:\Heritrix文件夹下。将
heritrix/conf/jmxremote.password.template复制到Heritrix的根目录下,并将其重命名为jmxremote.password;
2. 将heritrix-1.14.3.jar解压到一个临时目录,然后将里面的profiles文件夹复制
到heritrix/conf/目录下;
3. 打开heritrix/conf/heritrix.properties,为heritrix.cmdline.admin = 添加用户名和密码,如heritrix.cmdline.admin = admin:admin ;
4. 打开cmd命令行窗口,进入到heritrix/bin下,输入命令heritrix --admin=admin:admin,会弹出另一个窗口,说明运行成功;
5. 在浏览器中输入http://127.0.0.1:8080/ ,接着输入用户名和密码就能使用。

由于维基百科网站的词条页面都很有规律,所以可以定制正则表达式来抓取相应URL:http://en.wikipedia.org/wiki/ [\\d]。写一个继承自org.archive.crawler.extractor.Extractor的新类,继承innerProcess(curi)的方法。不过由于实验室的网络环境,Heritrix无法用代理连接英文维基百科网站。
参考资料:
[1] WebLech URL Spider. http://sourceforge.net/projects/weblech/
[2] 于天恩. 迅速搭建全文搜索平台-开源搜索引擎实战教程. 清华大学出版社, 2007, 10.
[3] 邱哲, 符滔滔. 开发自己的搜索引擎-Lucene2.0+Heritrix. 人民邮电出版社. 2007, 06.
[4] Heritrix: Internet Archive Web Crawler. http://sourceforge.net/projects/archive-crawler/

没有评论:
发表评论