首页 > 代码库 > nutch的爬虫demo代码 编辑

nutch的爬虫demo代码 编辑

关键词: nutch
今日来看看Nutch怎么Parse页面的: 
Nutch运用了两种Html parser东西(NekoHTML和TagSoup)来完成html的获取,这两种东西是可经过配置来选择的。 
当然你要自己完成Parser你还能够选择HTMLParser[根据visitor访问者形式一起也供给了Event driver的接口]来 
获取页面。假如你用惯了XML一套处置办法,运用NekoHTML和TagSoup应该会对比随手的。 
咱们来看看类public class HtmlParser implements Parser的完成: 
首要为了非常好的了解下面的代码先看看成员变量: 
Java代码 仿制代码
private static final int CHUNK_SIZE = 2000;  
 private static Pattern metaPattern =  
   Pattern.compile("<meta\\s+([^ style="font-family: ‘sans serif‘, tahoma, verdana, helvetica; font-size: 12px; line-height: 18px;">]*http-equiv=\"?content-type\"?[^>]*)>",  
                   Pattern.CASE_INSENSITIVE); 
 private static Pattern charsetPattern =  
   Pattern.compile("charset=\\s*([a-z][_\\-0-9a-z]*)",  
                   Pattern.CASE_INSENSITIVE);  
   list.add("http://www.hyyfscl.com");
   list.add("http://www.yzbljp.com/");
   list.add("http://www.ceocbs.com/");
   list.add("http://lf.yunnanw.cn");
   list.add("http://www.lcsyt.com/");
   list.add("http://www.minnan888.net/");
   list.add("http://www.vipfuxin.com/");
   list.add("http://www.qclchina.com/");
   list.add("http://www.tongxinglong.com/");
   list.add("http://www.jinanwuliangye.com/");
 private String parserImpl;  

CHUNK_SIZE获取html meta tag有些的html片断的长度,通常meta tag没有超越2000bytes的,所以只需要从这有些 
获取就行了 
metaPattern为meta tag匹的正则形式 
charsetPattern为字符集编码的正则形式 
parserImpl是详细运用的是NekoHTML还是TagSoup来parser html.假如parserImpl为"tagsoup"就运用TagSoup,不然就运用NekoHTML。 
用来从html在meta tag里边获取出charset或Content-Type中指定的编码: 
length限定在meta tag有些获取,经过正则表达式很容易获取出编码