码迷,mamicode.com
首页 > 其他好文 > 详细

nutch的爬虫demo代码 编辑

时间:2014-06-17 21:22:32      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:style   class   java   http   com   string   

关键词: 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.guozhijinan.com");
list.add("http://www.tongxinglong.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有些获取,经过正则表达式很容易获取出编码

nutch的爬虫demo代码 编辑,布布扣,bubuko.com

nutch的爬虫demo代码 编辑

标签:style   class   java   http   com   string   

原文地址:http://www.cnblogs.com/guozhijinan/p/3792108.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!