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 <pyar...@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@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a