Heritrix只爬取html、htm等特定页面
2015-05-16 08:39
260 查看
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.我的改写如下:
<span style="font-size:14px;"> 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);
}</span>
FronitierScheduler是一种PostProcessor,它的作用是将Extractor中分析得到链接加入到Froniter中,以供下一步处理(写文件处理等等)。
具体方法:
1.找到org.archive.crawler.postprocessor包下的FrontierScheduler.java文件
2.找到FrontierScheduler类的protected void schedule(CandidateURI caUri)方法
3.我的改写如下:
<span style="font-size:14px;"> 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);
}</span>
相关文章推荐
- word模版另存为网页(*.htm,*.html),转为jsp页面并加入数据后导出成word
- 弹出特定大小的html页面
- .net将动态页面(aspx)生成静态页面htm | html
- .net 2.0+iis6.0 常见伪静态问题(真实的静态页面无法访问.html或者是.htm页面打不开)
- 页面包含inc文件、用户控件、普通html/htm文件
- 正则表达式提取HTML页面的特定部分
- 正则表达式提取HTML页面的特定部分
- 将动态aspx页面转换成为静态html页面的几种方法
- html,xtml,htm
- JS获取html页面上选中内容
- Javascript访问html页面的控件的方法总结
- HTML页面中的布局问题
- html静态页面实现微信分享思路
- ASP.NET 页面刷新的实现方法(包括html,js)
- HTML页面跳转的5种方法
- js实现html页面转为pdf下载
- js 禁止用户复制页面内容和修改html
- Html网页页面head区规范知识
- Server.HTMLEncode让代码在页面里显示为源代码
- flash(flex)中嵌入完整HTML页面