Extraer Metadatos y Contenido de Texto desde Archivos utilizando Apache Tika

  • Posted on: 24 October 2014
  • By: ReYDeS

El kit de herramientas Apache Tika detecta y extrae metadatos y contenido de texto desde varios documentos – desde PPT, CSV hasta PDF – utilizando librerías existentes de interpretación. Tika unifica estos interpretes bajo una misma interfaz para permitir fácilmente interpretar más de mil diferentes tipos de archivos. Tika es útil para la indexación de motores de búsqueda, análisis de contenido, traducción, y mucho más.

Para construir Tika desde las fuentes se necesita Java 6 y Maven 2. Pero se puede sencillamente saltar hacia la extracción utilizando el archivo app jar de Tika encontrado en la página de descarga. Otra opción es utilizar uno de los wrappers escritos para usar Tika en otros lenguajes de programación, como Julia o Python.

Luego de descargado el archivo pertinente se procede a generar su hash SHA-1 para verificar la integridad del archivo.

La aplicación jar Tika puede ser utilizado como una utilidad en línea de comando para extraer contenido texto y metadatos desde todo tipo de archivos. Este archivo jar ejecutable contiene todas las dependencias necesarias, razón por la cual no hay necesidad de preocuparse sobre los ajustes del classpath para ejecutarlo.

$ sudo java -jar tika-app-1.6.jar -?

Microsoft Office y otras aplicaciones relacionadas producen documentos en los formatos OLE 2 y Open XML. El antiguo formato OLE 2 fue introducido en Microsoft Office versión 97 y fue el formato por defecto utilizado hasta Office versión 2007 y el nuevo formato OOXML basado en XML. Las clases “OfficeParser” y “OOXMLParser” utilizan la librería Apache POI para soportar la extracción de texto y metadatos desde documentos OLE2 y OOXML.

Se analiza un archivo en formato Microsoft Office con extensión “doc”. La opción “-t” genera una salida en texto plano del contenido del archivo.

$ sudo java -jar tika-app-1.6.jar -t ~/Archivos/manual.doc

Se procede a generar una salida únicamente de los metadatos desde el archivo con extensión “doc”. La opción “-m” permite realizar esta tarea.

$ sudo java -jar tika-app-1.6.jar -m ~/Archivos/manual.doc

La clase “ImageParser” utiliza la funcionalidad estándar java.imageir para extraer metadatos sencillos desde formatos de imagen soportados por la plataforma Java, como PNG, GIF, BMP. Metadatos de imágenes más compleja están disponibles mediante la clase “JpegParser” y las clases “TiffParser” las cuales utilizar la librería metadata-extractor para soportar extracción de metadatos Exif desde imágenes JPEG y TIFF. La clase “PSDParser” extrae metadatos desde imágenes PSD.

Se extraen los metadatos desde un archivo de imagen con extensión “jpg”.

$ sudo java -jar tika-app-1.6.jar -m ~/Archivos/vita.jpg

También se puede especificar la URL del documento a ser interpretado en lugar del nombre del archivo.

Si no se específica ningún nombre de archivo o URL (o se usa el nombre especial “-”), entonces se interpreta el flujo de datos estándar. Sino se especifica ningún argumento ni datos de entrada, se inicia el GUI.

$ sudo java -jar tika-app-1.6.jar

A través de la Interfaz Gráfica de Usuario de Tika se pueden realizar las mismas acciones realizadas mediante la línea de comando.

Mencionar la utilización de Tika y otras librerías en Autopsy 3 para extraer texto desde archivos HTML, Microsoft Office, PDF, RTF y otros formatos más.

Fuentes:

http://tika.apache.org/
http://tika.apache.org/1.6/gettingstarted.html
http://tika.apache.org/1.6/formats.html
http://www.sleuthkit.org/autopsy/keyword.php

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero


Webinar Informática Forense