`
wnzz95391511
  • 浏览: 126769 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多
    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中就有这样的方法,都没找到。
4
1
分享到:
评论
2 楼 xiaopei0714 2011-11-09  
可是我提取出的文本包含一堆的问号,可以设置编码吗?
1 楼 it_weigang 2011-01-24  
请教问题,如果是ajax的页面,信息如何抓取呢?例如 http://app.abchina.com/branch/  中的营业机构网点信息。

相关推荐

    HtmlParser提取网页信息的设计与实现

    ### HtmlParser提取网页信息的设计与实现 #### 一、引言 随着互联网的快速发展和信息量的爆炸式增长,从海量网页数据中提取有价值的信息变得日益重要。这不仅有助于提高信息检索的效率,还能为自动化的数据分析...

    java使用htmlparser提取网页纯文本例子

    【Java使用HTMLParser提取网页纯文本】\n\n在Java编程中,提取网页纯文本是一项常见的任务,尤其在数据抓取、信息分析等领域。HTMLParser是一个强大的Java库,专门用于解析HTML文档,提取其中的文本内容。下面我们将...

    HTMLParser提取网页内容

    &gt;`:这部分则用于匹配XML声明(如`&lt;?xml ... ?&gt;`)和其他可能存在的XML实体,这些通常不包含在页面的可见文本中。 2. **正则表达式编译与匹配**: - `Pattern.compile(regex, Pattern.CASE_INSENSITIVE)`:编译...

    C#正则+HTMLParser进行网页信息提取的实例。

    总之,C#结合正则表达式和HTMLParser为我们提供了一种强大的手段,可以从网页中提取所需信息。尽管这个实例中代码的可读性可能不高,但通过学习正则表达式和HTML解析库的基本用法,我们可以自己构建类似的解决方案,...

    基于HttpClient与HTMLParser 的网页正文提取

    文章强调,为了深入分析用户的网上行为和进行网页的分类、聚类、关联分析等处理工作,必须从海量的网页信息中提取有用的信息。由于原始HTML页面数据格式的局限性,直接处理并不方便,因此需要通过编写程序来实现数据...

    htmlparser进行网页信息的抽取

    以下是对HTMLParser及其在网页信息抽取中应用的详细说明: 1. **HTMLParser基本概念**: - HTMLParser是一个开源的Java库,它提供了API来解析HTML文档,支持处理HTML标签、属性、文本等元素。 - 库中的主要类包括...

    htmlparser抓取网页内容

    总结来说,"htmlparser抓取网页内容"项目展示了如何利用Python的HTMLParser库从特定网站抓取专利状态信息,涵盖了网络请求、HTML解析、数据提取等多个IT技术点。在实践中,开发者需要具备HTML和HTTP的基础知识,以及...

    Htmlparser 网页内容抓取java

    总的来说,HTMLParser是Java开发中处理HTML文档的强大工具,特别适用于网页内容抓取和信息提取。通过熟练掌握HTMLParser的用法,开发者可以高效地从海量的网页数据中获取有价值的信息,为数据分析、搜索引擎优化、...

    基于htmlparser的网页爬虫和java调用excel代码

    它可以识别HTML标签、属性、文本等元素,使得开发者能够方便地提取网页中的结构化信息。 2. **网页爬虫的基本原理**:网页爬虫通过发送HTTP请求到目标网站,获取HTML响应,然后解析这些HTML内容来提取所需信息。在...

    htmlparser实现网页上抓取数据

    HTMLParser是Python中用于解析HTML文档的一个库,它允许开发者高效地从网页中提取所需的数据。在Web开发和数据挖掘领域,爬虫技术是获取大量网络数据的重要手段,而HTMLParser则是实现这一目标的关键工具之一。本文...

    提取网页内容的源码(htmlparser)

    在项目中,文件列表中提到的"Extract"可能是指提取网页内容的具体实现文件,其中可能包含了如何使用HTMLParser或者自定义的解析逻辑来抓取和处理网页源码的代码片段。这可能涉及到URL的请求,HTTP头的设置,错误处理...

    HTMLParser抽取Web网页正文信息.doc

    ### HTMLParser抽取Web网页正文信息的关键知识点 ...通过上述步骤,HTMLParser不仅能够高效地从网页中提取正文信息,还能通过一系列智能算法确保提取的内容与主题高度相关,极大地提高了信息处理的效率和质量。

    htmlparser网页分析

    在网页分析中,HTMLParser扮演着核心角色,它能够帮助开发者有效地处理HTML源代码,提取所需的信息,甚至进行DOM(Document Object Model)操作。以下是对HTMLParser及其相关知识点的详细说明: 1. HTML解析:...

    htmlparser_Java网页解析器

    HTMLParser是一款用于Java开发的网页解析库,它允许开发者高效地提取和处理HTML文档中的数据。在Web开发中,尤其是在爬虫程序或者自动化测试中,HTMLParser是一个非常实用的工具。下面将详细介绍HTMLParser库的核心...

    HTMLParser抽取Web网页正文信息

    HTMLParser 是一个强大的工具,用于解析和...通过上述方法,HTMLParser可以帮助我们有效地从网页中抽取出主要内容,提高信息检索的精确性和效率。这种方法在网页爬虫、内容分析和信息提取等领域具有广泛的应用价值。

    HtmlParser

    使用HTMLParser,我们可以解析网页内容,提取所需信息,如文章标题、链接、图片等。以下是一些核心概念和步骤: 1. **创建自定义解析器**: 首先,我们需要继承Python的`HTMLParser`类,并重写其方法,如`handle_...

    HtmlParser 网页分解dll

    HtmlParser是一个用于网页抓取和解析的库,它能够帮助开发者高效地提取HTML文档中的信息并将其转换为结构化的XML格式。在Web开发中,这样的工具对于数据挖掘、搜索引擎优化(SEO)、网络爬虫和自动化信息处理至关...

Global site tag (gtag.js) - Google Analytics