HtmlParser初探--使用Nodefilter和Visitor进行网页分析
2010-06-01 22:04
453 查看
HtmlParser初探--使用Nodefilter和Visitor进行网页分析
url:http://blog.csdn.net/thamsyangsw/archive/2009/08/15/4448873.aspx
现在在使用htmlparser对html进行解析,对于html页面的解析htmlparser是一个功能比较强大的工具(相关下载:http://sourceforge.net/projects/htmlparser/)。以下是经常使用的对页面解析的两种方法,简单的总结了这两种方法的实现步骤,希望在这里抛砖引玉,有这方面编程经验的们,能参与讨论,怎样用它来进行html-->jsf的转换。
一、利用NodeFilter对网页进行分析
1、生成一个Parser
a.通过url提取网络上的网页
Parser parser = new Parser();
parser.setURL("http://www.yahoo.com.cn");
b.提取本地网页文件
通过读文件把网页文件转化成字符串;
Parser parser=Parser.createParser(html,charset);
2、利用NodeFilter做一个filter
a.利用Tag Name
NodeFilter filter=new TagNameFilter("IMG");
b.利用Tag Class
NodeFilter filter = new NodeClassFilter(ImageTag.class);
3、通过匹配filter,得到所有符合条件的Tag
NodeList list=parser.extractAllNodesThat(filter);
for(int i=0;i String content=list.elementAt(i).toHtml();//得到符合条件的Tag内容
如果针对具体情况进行更加详细的处理,则:
ImageTag imageTag=(ImageTag)list.elementAt(i);
…………
}
然后根据需要做相应的处理。
二、利用Visitor对网页进行分析
1、生成一个Parser
a.通过url提取网络上的网页
Parser parser = new Parser();
parser.setURL("http://www.yahoo.com.cn");
b.提取本地网页文件
通过读文件把网页文件转化成字符串;
Parser parser=Parser.createParser(html,charset);
2、用visitor访问页面
ex:ObjectFindingVisitor visitor=new ObjectFindingVisitor();
parser.visitAllNodesWith(visitor);
3、通过特定的visitor得到符合条件的Tag
Node[] nodes=visitor.getTags();
for(int i=0;i ImageTag imageTag=(ImageTag)nodes[i];
…………
//根据需要做特定处理
}
url:http://blog.csdn.net/thamsyangsw/archive/2009/08/15/4448873.aspx
现在在使用htmlparser对html进行解析,对于html页面的解析htmlparser是一个功能比较强大的工具(相关下载:http://sourceforge.net/projects/htmlparser/)。以下是经常使用的对页面解析的两种方法,简单的总结了这两种方法的实现步骤,希望在这里抛砖引玉,有这方面编程经验的们,能参与讨论,怎样用它来进行html-->jsf的转换。
一、利用NodeFilter对网页进行分析
1、生成一个Parser
a.通过url提取网络上的网页
Parser parser = new Parser();
parser.setURL("http://www.yahoo.com.cn");
b.提取本地网页文件
通过读文件把网页文件转化成字符串;
Parser parser=Parser.createParser(html,charset);
2、利用NodeFilter做一个filter
a.利用Tag Name
NodeFilter filter=new TagNameFilter("IMG");
b.利用Tag Class
NodeFilter filter = new NodeClassFilter(ImageTag.class);
3、通过匹配filter,得到所有符合条件的Tag
NodeList list=parser.extractAllNodesThat(filter);
for(int i=0;i String content=list.elementAt(i).toHtml();//得到符合条件的Tag内容
如果针对具体情况进行更加详细的处理,则:
ImageTag imageTag=(ImageTag)list.elementAt(i);
…………
}
然后根据需要做相应的处理。
二、利用Visitor对网页进行分析
1、生成一个Parser
a.通过url提取网络上的网页
Parser parser = new Parser();
parser.setURL("http://www.yahoo.com.cn");
b.提取本地网页文件
通过读文件把网页文件转化成字符串;
Parser parser=Parser.createParser(html,charset);
2、用visitor访问页面
ex:ObjectFindingVisitor visitor=new ObjectFindingVisitor();
parser.visitAllNodesWith(visitor);
3、通过特定的visitor得到符合条件的Tag
Node[] nodes=visitor.getTags();
for(int i=0;i ImageTag imageTag=(ImageTag)nodes[i];
…………
//根据需要做特定处理
}
相关文章推荐
- HtmlParser初探--使用Nodefilter和Visitor进行网页分析
- HtmlParser初探--使用Nodefilter和Visitor进行网页分析
- HtmlParser初探--使用Nodefilter和Visitor进行网页分析
- 【转】HtmlParser初探--使用Nodefilter和Visitor进行网页分析
- HtmlParser初探--使用Nodefilter和Visitor进行网页分析
- Python获取网页内容、使用BeautifulSoup库分析html
- WEB打印系列教程之一--基于Web的打印方案比较分析、使用IE的打印功能进行一般的网页打印
- Python3.x网页分析HTMLParser基础用法
- html Demo工具类:网页使用ie另存为htm文件时,css样式文件的图片路径不对,进行修改,并下载图片
- 使用Python中HTTPParser模块进行简单的html解析
- htmlparser visitor用法 自定义标签 大文件快速读取,并分析,彻底解决 outofmemery错误
- C#htmlparser分析网页
- 菜鸟练习C#htmlparser----C#正则加htmlDOM进行网页解析腾讯新闻帖子列表相关信息提取
- python使用正则表达式分析网页中的图片并进行替换的方法
- 如何使用CSS进行网页布局(HTML/CSS)
- 【转】使用Python中HTTPParser模块进行简单的html解析
- 菜鸟练习C#htmlparser----C#正则加htmlDOM进行网页解析腾讯新闻帖子列表相关信息提取
- 使用html和CSS进行网页网站设计 -- 简明步骤
- Android使用Messenger进行Service IPC通信分析 .
- 使用Python对微信好友进行数据分析