I download tika-core and tika-parser libraries, but I could not find the example codes to parse HTML documents to string. I have to get rid of all html tags of source of a web page. What can I do? How do I code that using Apache Tika?
Asked
Active
Viewed 2.0k times
7
-
take a look at the example it may help you http://blog.jeroenreijn.com/2010/04/metadata-extraction-with-apache-tika.html – Lalchand Mar 25 '11 at 08:13
2 Answers
20
Do you want a plain text version of a html file? If so, all you need is something like:
InputStream input = new FileInputStream("myfile.html");
ContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
new HtmlParser().parse(input, handler, metadata, new ParseContext());
String plainText = handler.toString();
The BodyContentHandler, when created with no constructor arguments or with a character limit, will capture the text (only) of the body of the html and return it to you.

Gagravarr
- 47,320
- 10
- 111
- 156
1
You can also you Tika AutoDetectParser to parse any type of files such as HTML. Here is a simple example of that:
try {
InputStream input = new FileInputStream(new File(path));
ContentHandler textHandler = new BodyContentHandler();
Metadata metadata = new Metadata();
AutoDetectParser parser = new AutoDetectParser();
ParseContext context = new ParseContext();
parser.parse(input, textHandler, metadata, context);
System.out.println("Title: " + metadata.get(metadata.TITLE));
System.out.println("Body: " + textHandler.toString());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (TikaException e) {
e.printStackTrace();
}

UserNeD
- 1,409
- 13
- 14