miércoles, 18 de diciembre de 2013

Analizando metadatos en Python

Compartir este artículo:
Buenas a todos, en el post de hoy vamos a jugar con Python para analizar los metadatos de un documento.

Hoy veremos como podemos analizar de una manera muy sencilla los metadatos de un documento de tipo PDF, para ello haremos uso de la librería PyPDF2, una de las más utilizadas para estas labores.

La instalación de PyPDF2 la podéis realizar de una manera muy sencilla a través de PIP:
sudo pip install pypdf2

Una vez instalada ya estaremos en disposición de utilizarla. A continuación os mostraremos un ejemplo básico para recuperar la información de un documento PDF pasado como parámetro:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import optparse
import PyPDF2
from PyPDF2 import PdfFileReader

def impr(fileName):
    pdfFile = PdfFileReader(file(fileName, 'rb'))
    meta = pdfFile.getDocumentInfo()
    print ' - Documento: ' + str(fileName)
    for metaItem in meta:
        print ' - ' + metaItem + ':' + meta[metaItem]

def main():
    parser = optparse.OptionParser('usage %prog "+\
      "-F <PDF file name>')
    parser.add_option('-f', dest='fileName', type='string',\
      help='specify PDF file name')

    (options, args) = parser.parse_args()
    fileName = options.fileName
    if fileName == None:
        print parser.usage
        exit(0)
    else:
        impr(fileName)

if __name__ == '__main__':
    main()
 Para ejecutar el programa simplemente tenéis que ejecutar el siguiente comando:
python miapp.py -f mifichero.pdf
¿Fácil no? En posteriores post veremos como recuperar metadatos de otro tipo de ficheros con python.

Saludos!

5 comentarios:

  1. Excelente, tendre que echarle un ojo al codigo de esa libreria, me llama la atencion en gran medida. Por cierto, recomiendo usar argparse sobre optparse, este ultimo esta deprecated.

    Si tuviera resaltado de sintaxis fuese aun mas comodo de mirar el codigo. En todo caso, excelente post, intentare estar atento a los demas.

    Saludos

    ResponderEliminar

Related Posts Plugin for WordPress, Blogger...