[Python-es] Procesar archivos de SYSLOG

Oscar Carballal Prego oscar.carballal en gmail.com
Mar Abr 13 19:28:47 CEST 2010


Esto que voy a decir puede ser un poco absurdo, ya que no tengo mucha  
experiencia, pero, ¿y si creas un diccionario con las  
correspondencias? Serviría si fuesen pocas equivalencias, aunque si  
son demasiadas tal vez debas considerar otra forma.

Un saludo

El 13/04/2010, a las 19:18, Carlos Herrera Polo escribió:

> Estoy intentando utilizar ahora la libreria dnspython
>
> Lo que ocurre es que he podido identificar varios "hosts" como por  
> ejemplo:
>
> l.addthiscdn.com
> login.live.com
> meta.wikimedia.org
> peru21.pe
> translate.google.com.pe
> zulu.tweetmeme.com
> www.update.microsoft.com
> banners.grupolarepublica.com.pe
>
> Pero ahora lo que intento, y con el fin de no complicar tanto la  
> agrupacion de los registros de log, almacenar en una columna  
> unicamente el dominio principal, siguiendo con el ejemplo, quisiera  
> procesar algo como.
>
> login.live.com > live.com
> banners.grupolarepublica.com.pe > grupolarepublica.com.pe
> www.update.microsoft.com > microsoft.com
>
> Se me ocurre que se puede utilizar para esto la libreria dnspython,  
> pero hasta ahora unicamente he conseguido separar en listas cada  
> componente del dominio con la funcion
> dns.name.from_text("host")
>
> Alguien tiene una mejor idea ? O talvez mas experiencia con dnspython
>
> Gracias por su apoyo
>
>
>
>
>
> El 13 de abril de 2010 11:08, Arnau Sanchez <pyarnau en gmail.com>  
> escribió:
> On 13/04/10 01:27, lopz wrote:
>
> No sé, yo no lo veo necesario usar un módulo de 3ros para parsear un
> string, podrías hacerlo a base de strings y slices, o ahora que
> aprendí lo básico de expresiones regulares me encantan, tiraría por
> esto último.
>
> Cierto, con splits de cadenas y expresiones regulares debería ser  
> muy sencillo extraer cualquier información del log.
>
>
> Lo de abrir todo el fichero grande es mucho para cargarlo en memória,
> tendrás que usar buffers o algo así
>
> Como ya se ha comentado más de una vez, el objeto que devuelve  
> Python al abrir un fichero de texto es iterable (a cada paso  
> devuelve una línea). Así que no hay preocuparse del tamaño del  
> fichero si se usa como un iterador:
>
> for line in open(path):
>    print line
>
> Lo normal es crear generadores si el proceso consta de diferentes  
> etapas.
>
> Respecto a cómo separar una URL en sus partes:
>
> http://docs.python.org/library/urlparse.html
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/




Más información sobre la lista de distribución Python-es