您的位置:首页 > 编程语言 > Java开发

HtmlParser提取网页中的纯文本信息-java

2011-03-19 13:04 344 查看

from:http://perfectlife.javaeye.com/blog/366084

HtmlParser提取网页中的纯文本信息

文章分类:Java编程 关键字: 如何使用htmlparser提取网页中的纯文本信息
HTMLParser 一个解析web页面的开源类库。

准备学习下搜索方面的技术,就学习了些网络爬虫的知识。最近一直在一个点上困惑,如何提取一个网页上的纯文本信息。要使用正则表达式的话呢,需要考虑很多因素,而且标签也太多,不是很方便,效果也不好。就准备利用开源包,最后选择了HtmlParser。

在网上搜索如何利用HtmlParser提取页面信息。提取的结果都不是很理想,都包含了很多无用空格信息,还有很多JS代码。

如利用如下的代码:

Java代码

public void getWebPageContent(String htmlContent) {

Parser parser = new Parser();

try {

parser.setInputHTML(htmlContent);

parser.setEncoding(parser.getURL());

HtmlPage page = new HtmlPage(parser);

parser.visitAllNodesWith(page);

logger.info(page.getTitle());

NodeList list = page.getBody();

StringBuffer sb = new StringBuffer();

for (NodeIterator iterator = list.elements(); iterator

.hasMoreNodes();) {

Node node = iterator.nextNode();

logger.info(node.toPlainTextString());

} catch (ParserException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

就包含了很多的空格信息以及JS代码。


后来在HTMLParser的API中的org.htmlparser.beans.StringBean类的描述中找到如下一段文字:


Java代码

Extract strings from a URL.

Text within <SCRIPT></SCRIPT> tags is removed.

The text within <PRE></PRE> tags is not altered.

The property Strings, which is the output property is null until a URL is set. So a typical usage is:

StringBean sb = new StringBean ();

sb.setLinks (false);

sb.setReplaceNonBreakingSpaces (true);

sb.setCollapse (true);

sb.setURL ("http://www.netbeans.org"); // the HTTP is performed here

String s = sb.getStrings ();

利用后,如下:

Java代码

/**

* 根据提供的URL,获取此URL对应网页的纯文本信息

* @param url 提供的URL链接

* @return RL对应网页的纯文本信息

* @throws ParserException

*/

public String getText(String url)throws ParserException{

StringBean sb = new StringBean();

//设置不需要得到页面所包含的链接信息

sb.setLinks(false);

//设置将不间断空格由正规空格所替代

sb.setReplaceNonBreakingSpaces(true);

//设置将一序列空格由一个单一空格所代替

sb.setCollapse(true);

//传入要解析的URL

sb.setURL(url);

//返回解析后的网页纯文本信息

return sb.getStrings();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐