html抽取文本信息-java版(适合lucene建立索引)

import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.beans.StringBean;
import org.htmlparser.filters.CssSelectorNodeFilter;
import org.htmlparser.util.NodeList;

public class HtmlUtil {
	public static String getText(String html, String id) {
		try {
			Parser parser = new Parser(html);
			NodeFilter filter = new CssSelectorNodeFilter("#" + id);
			NodeList nList = parser.extractAllNodesThatMatch(filter);
			return nList == null || nList.size() == 0 ? null : nList.elementAt(
					0).toPlainTextString();
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

	public static String getTextByClass(String html, String css_class) {
		try {
			Parser parser = new Parser(html);
			NodeFilter filter = new CssSelectorNodeFilter("." + css_class);
			NodeList nList = parser.extractAllNodesThatMatch(filter);
			return nList == null || nList.size() == 0 ? null : nList.elementAt(
					0).toPlainTextString();
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

	public static String filterText(String text) {
		if (text == null)
			return null;
		text = text.replace(">", ">");
		text = text.replace("<", "<");
		text = text.replace(""", "\"");
		text = text.replace(" ", " ");
		text = text.replace("&", "&");
		text = text.replace("&copy;", "©");
		text = text.replace(" ", "");
		return text;
	}

	/**
	 * 获取网页中纯文本信息
	 *
	 * @param html
	 * @param id
	 * @return
	 * @throws Exception
	 * @throws Exception
	 */
	public static String getText(String html) throws Exception {
		StringBean bean = new StringBean();
		bean.setLinks(false);
		bean.setReplaceNonBreakingSpaces(true);
		bean.setCollapse(true);

		// 返回解析后的网页纯文本信息
		Parser parser = Parser.createParser(html, "utf-8");
		parser.visitAllNodesWith(bean);
		parser.reset();
		return bean.getStrings();
	}
}

需要用htmlparse.jar库,调用方式如下:

HtmlUtil.getText(htmlStr);

时间: 2024-10-27 02:06:00

html抽取文本信息-java版(适合lucene建立索引)的相关文章

Lucene建立索引然后搜索的小Demo

package junitTest; import java.io.IOException; import java.io.StringReader; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.luce

【转】Lucene不同版本中Field的Keyword、UnIndex,导致lucene 建立索引总是报错 急!!

lucene 建立索引 总是报错 急!! http://zhidao.baidu.com/link?url=iaVs9JH4DfN6iwaWImt7VMJENWCWGGaWFGPjqhUw_jz7FsbdrUiAJwptgCNDR8OhWlJ8iUArECkLnpBQGGzTxq 这段话总是报错,编译不过去.红线画在keyword,text下面.while(rs.next()){ Document doc=new Document(); doc.add(Field.Keyword("BH&quo

lucene 建立索引与查询

Lucene 简介 Lucene 是一个基于 Java 的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能.Lucene 目前是 Apache Jakarta 家族中的一个开源项目.也是目前最为流行的基于 Java 开源全文检索工具包. 目前已经有很多应用程序的搜索功能是基于 Lucene 的,比如 Eclipse 的帮助系统的搜索功能.Lucene 能够为文本类型的数据建立索引,所以你只要能把你要索引的数据格式转化的文本的,Lucene 就能对你的文档进行

Lucene建立索引库

问题?Lucene如何建立索引库,lucene所需要的jar包是那些  , lucene如何使用索引库,lucene的核心原理 一.Lucene是什么? 全文检索只是一个概念,而具体实现有很多框架,lucene是其中的一种方式.本文将以lucene3.0进行开发 官兵与Luncne的jar包可以去官网下载:点击打开链接,不过好像Lucene已经更新到6.1了. 二.建立索引库 1.互联网搜索全文搜索引擎结构图: 2.Lucene的结构图: 说明: (1)在数据库中,数据库中的数据文件存储在磁盘上

Lucene4.9学习笔记——Lucene建立索引

基本上创建索引需要三个步骤: 1.创建索引库IndexWriter对象 2.根据文件创建文档Document 3.向索引库中写入文档内容 这其中主要涉及到了IndexWriter(索引的核心组件,用于创建或追加索引).Document(代表一些域Field的集合).Field(具体的域,如文档创建时间.作者.内容等).Analyzer(分词器).Directory(用于描述索引存放位置)这些主要的类. 我们参照上一节的代码来看建立索引. 1.创建IndexWriter // 索引文件的保存位置

lucene 建立索引的过程

时间 2014-06-30 17:56:52 ? CSDN博客 原文 http://blog.csdn.net/caohaicheng/article/details/35992149 看lucene主页(http://lucene.apache.org/)上目前lucene已经到4.9.0版本了, 参考学习的书是按照2.1版本讲解的,写的代码例子是用的3.0.2版本的,版本 的不同导致有些方 法的 使用差异,但是大体还是相同的. 源代码用到的jar包(3.0.2版本)下载地址 参考资料: 1.

lucene建立索引的过程

建立索引过程 用户提交数据=>solr建立索引=>调用lucene包建立索引 官方建立索引和查询索引的例子如下: http://lucene.apache.org/core/4_10_3/demo/overview-summary.html#About_the_code http://lucene.apache.org/core/4_10_3/core/overview-summary.html#overview_description 其他参考文章如下: http://dataknocker

lucene 建立索引的不同方式

1.创建一个简单的索引: package lia.meetlucene; import java.io.File; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.store.Directory; import org.apache.luc

ssm学习——Lucene建立索引

一:理论知识 1.非结构化数据查询方法 1)顺序扫描法 太慢,效率不高. 2)全文检索法 对需要查询的文档创建索引,再对其进行搜索.其实说白了就是为了使其结构化. 2.索引创建和搜索流程图 1)流程图 2)索引库 索引库是由两部分组成的,一部分是索引,另一部分是文档对象(不是原始文档). 3.流程图详解 1)创建文档对象 有以下规则 a.不同的文档可以有不同的Field b.同一个文档可以有相同的Field c.每一个文档有一个唯一的编号id 2)分析文档 分析的过程是经过对原始文档提取单词,将