2011-03-25 24 views
7

Descargo las bibliotecas tika-core y tika-parser, pero no pude encontrar los códigos de ejemplo para analizar los documentos HTML en la cadena. Tengo que deshacerme de todas las etiquetas html del origen de una página web. ¿Que puedo hacer? ¿Cómo codifico eso usando Apache Tika?¿Cómo puedo usar el analizador HTML con Apache Tika en Java para extraer todas las etiquetas HTML?

+0

echar un vistazo al ejemplo que puede ayudarle a http://blog.jeroenreijn.com/2010/04/metadata-extraction-with-apache-tika.html – Lalchand

Respuesta

19

¿Desea una versión de texto sin formato de un archivo html? Si es así, todo lo que necesita es algo así como:

 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(); 

El BodyContentHandler, cuando se creó sin argumentos al constructor o con un límite de caracteres, capturará el texto (sólo) del cuerpo de la html y lo devolverá al cliente .

+0

Se dijo, gracias. –

1

También puede usar Tika AutoDetectParser para analizar cualquier tipo de archivos como HTML. Aquí es un simple ejemplo de ello:

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(); 
    } 
Cuestiones relacionadas