HTMLParser 一个解析web页面的开源类库。
准备学习下搜索方面的技术,就学习了些网络爬虫的知识。最近一直在一个点上困惑,如何提取一个网页上的纯文本信息。要使用正则表达式的话呢,需要考虑很多因素,而且标签也太多,不是很方便,效果也不好。就准备利用开源包,最后选择了HtmlParser。
在网上搜索如何利用HtmlParser提取页面信息。提取的结果都不是很理想,都包含了很多无用空格信息,还有很多JS代码。
如利用如下的代码:
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类的描述中找到如下一段文字:
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 ();
利用后,如下:
/**
* 根据提供的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();
}
便可以解析出网页中的纯文本信息,而且效果很好
ps:太不会搜索信息了,API中就有这样的方法,都没找到。
分享到:
相关推荐
HTMLParser提取网页超链接研究 HTMLParser提取网页超链接研究
HTMLParser提取网页内容,提取网页正文及标题等内容
HtmlParser提取网页信息的设计与实现
主要介绍了java使用htmlparser提取网页纯文本例子,需要的朋友可以参考下
使用HtmlParser 提取百度贴吧中的图片
htmlparser进行网页信息的抽取,里边有实例
基于HTMLParser 信息提取的网络爬虫设计论文
更多描述请见博客同一时间发的文章。能够保证可运行。但是代码的可读性我必须说SOrry.没太多时间加注释,对不住了!
htmlparser提取网页信息
基于HttpClient与HTMLParser的网页正文提取,陈智彬,崔鸿雁,随着互联网的高速发展,针对互联网的分析处理显得日益重要。本文研究了HttpClient、HTMLParser等技术,提出并实现了一种基于HttpClient与HTM
可以直接运行。java利用htmlparser抓取网页数据
HTMLParser抽取Web网页正文信息.doc
基于htmlparser的网页爬虫和java调用excel代码,本人爬取新浪新闻所写的爬虫代码,附带本人练习时所写的代码,非常全。而且可以将爬取的新闻内容直接导入到excel中。
本文研究了 HttpClient、HTMLParser 等技术,提出并实现了一种基于HttpClient 与HTMLParser 的网 页抓取解析方法,该方法能够快速有效对HTML 页面进行抓取解析
htmlparser实现从网页上抓取数据
关于用java写的htmlparser网页分析
使用htmlparser制作的网页爬虫例题
htmlparser[1]是一个纯的java写的html(标准通用标记语言下的一个应用)解析的库,它不依赖于其它的java库文件,主要用于改造或 提取html。它能超高速解析html,而且不会出错。现在htmlparser最新版本为2.0。 毫不...