您好,欢迎来到洋葱娱乐。
搜索
您的当前位置:首页Heritrix只爬取html、htm等特定页面_html/css

Heritrix只爬取html、htm等特定页面_html/css

来源:洋葱娱乐


Heritrix有5条链,网上有说在Extractor链里做处理,该链是抽取链,可以负责解析html页面的内容,然后进一步筛选。但是我目前只想通过判断后缀名筛选出html、htm、shtml、xshtml等文件。因此这样在Extractor里做处理就有点牛刀小用的意思,因此我在PostProcessor链里做处理。详细介绍如下:

FronitierScheduler是一种PostProcessor,它的作用是将Extractor中分析得到链接加入到Froniter中,以供下一步处理(写文件处理等等)。

具体方法:

1.找到org.archive.crawler.postprocessor包下的FrontierScheduler.java文件

2.找到FrontierScheduler类的protected void schedule(CandidateURI caUri)方法

3.我的改写如下:

 protected void schedule(CandidateURI caUri) { //将caUri转为String格式 String url = caUri.toString(); //打印出来查看一下 System.out.println("------" + url); //剔除以特定后缀名结尾的URL if(url.endsWith(".jpeg") 	||url.endsWith(".jpg") 	||url.endsWith(".gif") 	||url.endsWith(".css") 	||url.endsWith(".doc") 	||url.endsWith(".zip") 	||url.endsWith(".png") 	||url.endsWith(".js") 	||url.endsWith(".pdf") 	||url.endsWith(".xls") 	||url.endsWith(".rar") 	||url.endsWith(".exe") 	||url.endsWith(".txt")){ 	return; 	} //将未剔除的文件加入到下一步处理(写入到本地磁盘的处理等等) getController().getFrontier().schedule(caUri); }

Copyright © 2019- ycsn.cn 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务