首先学习JSpider的第一个应用,Check Errors,用来检查网页上的链接以及迭代出来的其他链接是否有效。
使用命令JSpider [url] [CheckErrors]。这里url指要检查的链接,CheckErrors指实现该功能的配置文件目录。
可见,使用的关键就是配置文件的编写。
配置文件一般放在conf/下面。实现CheckErrors功能的配置文件就在conf/CheckErrors下面。
在这个目录下,有个jspider.properties文件,它包括了这次启动的全局配置,其中有Proxy Configuration、Storage Configuration、Task Scheduler Configuration、Threading Configuration、User Agent Configuration、Rules Configuration、Logging Configuration。这里的Rules Configuration确定了一些规则,满足这些规则的站点才会被继续处理,否则就排除掉。
另一个文件叫sites.properties,在这里将所有站点分为两类,一类叫base即要处理的站点,另一类叫default表示其他的站点。对应于sites目录下的两个配置文件base.properties和default.properties。这两个配置文件与jspider.properties结构一致,是为这两类站点进行配置。如果想禁止对站点的某个部分的访问(比如禁止访问/apidocs中的资源),就在base.properties的Rules Configuration中加入下面配置:
site.rules.spider.count=1
site.rules.spider.1.class=net.javacoding.jspider.mod.rule.ForbiddenPathRule
site.rules.spider.1.config.path=/apidocs
还有一个文件叫plugin.properties,这里设置是否启用engine、monitoring和spider三类事件过滤器,并定义plugin,每个plugin对应plugins文件夹中的一个配置。文档中有三个plugin,一个是输出事件的console,一个是将事件写入文件的filewriter,一个是根据状态将事件写入文件的statusBasedFileWriter。对应conf/checkErrors/plugins/下面的console.properties等文件。
运行jspider http://j-spider.sourceforge.net/samplesite/ checkErrors,得到相应的结果,这里在getState方法上还是出了问题,不过没有影响结果。
这个功能学习完毕,了解了JSpider基本的运作方式。下一步将深入到代码中,查看相应的设计和实现。