Re: [Python-es] Extraer un trozo de un codigo HTML
si, acabo de encontrar con body.splitlines() me hacia lo q necesito, y en el camino encontre el bs4 que da mas ventajas, ahora voy a empezar a jugar con el... es que el HTML viene super desordenado muchas gracias! ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es
[Python-es] Extraer un trozo de un codigo HTML
colegas, estoy tratando de extraer, desde el cuerpo de un mensaje de correo, algunos trozos de texto logro tener el cuerpo, pero no hay forma de q pueda sacar, ciertas lineas, para luego poder sacar el dato q necesito, si me puedieran dar alguna ayuda al respecto, lo agradeceria el proyecto es revisar un buzon y a partir de un filtro de mensajes x el asunto, extraer datos de una orden para ir guardando un registro de estas, quizas estoy pensando mal la logica, acepto cualquier sugerencia oimap.select("Inbox") typ, data = oimap.search(None, 'ALL') e_bodies = [] for numin data[0].split(): typ, data = oimap.fetch(num, '(RFC822)') msg = email.message_from_string(data[0][1].decode()) # decode = email.header.decode_header(msg['Subject']) # print('Message %s: %s' % (num.decode(), msg["Subject"])) # Body details for partin msg.walk(): if part.get_content_type() =="text/html": # part.get_content_type() body = part.get_payload() # en este punto, necesito filtrar el cuerpo del mensaje, que es un codigo HTML, y extraer # algunas lineas oimap.close() oimap.logout() y asi seria de la parte del codigo HTML q necesito extraer datos Destinatario Nombre: Customer Fullname Carnet de Identidad: 09876543219 Pais : Cuba Provincia: Camaguey Municipio: Camaguey Ciudad: Camaguey Direccion: Address Numero de Telefono: 32987654 pero no logro, llegar a la parte, en la que puedo, el texto que viene en el payload parsearlo, linea x linea :( mil gracias x adelantado ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es
Re: [Python-es] trabajo con ciclos y arreglos RESUELTO
bueno, primero quiero dar las gracias por las respuesta y comentar que ya resolvi, con la idea inicial q me dieron, la de vaciar el arreglo (lista), el tema era inicializarlo dentro del ciclo, asi funciona como me intersaba, sobre esta ultima respuesta, estoy consciente de que no es una lista lo mejor, pero solo para ver los resultados los estaba usando, al final, no me es funcional el arreglo, ya q la idea final es que por cada ciclo, ejecute una consulta SQL. sobre los diccionarios, no tengo mucha idea de como funcionan ni cuando utilizarlos, voy a leer un poco sobre el tema para ver como los uso. el tema de las condiciones, he programado mucho mas en PHP q en python, y no sabia q se podia hacer eso, mil gracias! no cabe duda que reduce bastante el codigo, supongo q tambien ayuda a que python interprete mejor el codigo! si hay variables puestas de muchas pruebas q he hecho, no lo limpie lo suficiente antes de enviar el snnipet del codigo, disculpen por eso tambien vaya esta ultima parte del como haria ud el codigo, la verdad que se complica un poco :); la condicion la entiendo, pero la parte del diccionario no mucho, y el mapa, se me ocurre la idea, pero igual, tengo q leer un poco al respecto para entenderlo. muchas gracias una vez mas ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] trabajo con ciclos y arreglos
me parece q eso esta bien... pero como lo hago?? ;( soy newbie en python! gracias ___ 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] trabajo con ciclos y arreglos
estoy trabajando en parsear un archivo .ini con el modulo ConfigParser, y todo lo hace super el modulo, pero tengo una inquietud, que se me traba el paraguas, a ver si me pueden dar una luz de como resolver el tema, el codigo es basicamente este #!/usr/bin/env python # -*- coding: utf-8 -*- import ConfigParser import re conf = ConfigParser.ConfigParser() conf.read('96969696.dat') usuarios = [] sections = [] plantillas = [] sections = conf.sections() for sect in sections: if conf.has_option(sect,"IsTemplate"): plantillas.append(sect) else: if len(conf.options(sect)) > 0: if not conf.get(sect,'tp') == 'Default': if not conf.has_option(sect,"c1"): if conf.has_option(sect,'timequota'): quota = conf.get(sect,'timequota') usuarios.append(conf.get(sect,'timequota')) if conf.has_option(sect,'fg'): if conf.get(sect,'fg') == '256': status = conf.get(sect,'fg') usuarios.append(conf.get(sect,'fg')) if conf.has_option(sect,'email'): email = conf.get(sect,'email') usuarios.append(conf.get(sect,'email')) if conf.has_option(sect,'timeusedlastupdated'): last = conf.get(sect,'timeusedlastupdated') usuarios.append(conf.get(sect,'timeusedlastupdated')) if conf.has_option(sect,'passwordlastupdated'): lastpw = conf.get(sect,'passwordlastupdated') usuarios.append(conf.get(sect,'passwordlastupdated')) if conf.has_option(sect,'checkavl'): phone = conf.get(sect,'checkavl') usuarios.append(conf.get(sect,'checkavl')) tused = conf.get(sect,'timeused') usuarios.append(conf.get(sect,'timeused')) tpl = conf.get(sect,'tp') usuarios.append(conf.get(sect,'tp')) print '\r' print usuarios #print quota explico esto un poco! me extrae todas las secciones,(son usuarios con sus atributos), excluyo algunso que no me interesa, usuarios por defecto o definicion de Plantillas de usuarios, luego voy extrayendo los atributos que mas me interesan de cada usuario, al final cuando imprimo el arreglo `usuarios` me va acumulando, y el ultimo me contiene TOOODOS los usuarios con sus atributos, y quiero que por cada seccion = usuario me devuelve el arreglo unico, la idea final es que cada usuario lo ponga en una base de datos de MySQL, pero la parte de la base de datos la hare despues q esta parte funcione bien saludos y gracias de antemano ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] extraer cadena dentro de corchetes
bueno, disculpenme, pero me deslumbre un poco con la sencillez de los codigos de python, el codigo que envio el colega Jhonlier esta super, pero el tema del modulo ConfigParser esta mas que genial, xq ya este me evita mchas molestias de entrar en temas del codigo que este resuelve, me refiero a lo de extraer los atributos de cada seccion, wao, eso esta MUY pero MUY bueno gracias a todos PD: algun libro que recomienden para leer poco a poco, preferiria que fuera lo mas practico posible ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] extraer cadena dentro de corchetes
gracias, este funciono perfecto para lo que necesito! ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] extraer cadena dentro de corchetes
On 02/01/2012 04:28 PM, Kiko wrote: El 1 de febrero de 2012 21:52, Aldo Martinez Selleras mailto:a...@caonao.cu>> escribió: saludos a todos, soy nuevo en la lista y en el mundo de python, entre en el por interes propio, debido a la referencia q tengo de la robustez del lenguaje de programacion, y tengo una tarea ahora con un archivo que necesito parsear y es el primer proposito que me he autoindicado para hacer con python. resulta que es un archivo con un estructura determinada, y ya se como leer el archivo linea por linea, pero se me trabo el paragua al querer sacar una cadena que esta entre dos corchetes, pongo detalles la estructura del archivo es esta [cadena1] attr1 = value1 attr2 = value2 attr3 = value3 attr4 = value4 attr5 = value5 [cadena2] attr1 = value1 attr2 = value2 attr3 = value3 attr4 = value4 attr5 = value5 y ya logre hacer esto, que me gusta como funciona! lineas = [] fichero = open("file.data", "r") for linea in fichero.readlines(): if not linea: break if linea[0] == '[': lineas.append(linea) print lineas fichero.close() y esto me devuelve [cadena1], [cadena2] Con lo que tienes hecho puedes hacer (solo he incluido lo que está en negrita, el resto es exactamente tu programa): lineas = [] fichero = open("file.data", "r") for linea in fichero.readlines(): if not linea: break if linea[0] == '[': lineas.append(linea*[1:-1]*) print lineas fichero.close() Mira en [1] para ver más. [1] http://docs.python.org/tutorial/introduction.html#strings eso me devuelve el arreglo, pero de esta forma :( 'cadena1]','cadena2]' la verdad en casi todos los intentos q hice, me daba mas problemas con el corchete del final, es como q mas conflictivo este muchas gracias ___ 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] extraer cadena dentro de corchetes
saludos a todos, soy nuevo en la lista y en el mundo de python, entre en el por interes propio, debido a la referencia q tengo de la robustez del lenguaje de programacion, y tengo una tarea ahora con un archivo que necesito parsear y es el primer proposito que me he autoindicado para hacer con python. resulta que es un archivo con un estructura determinada, y ya se como leer el archivo linea por linea, pero se me trabo el paragua al querer sacar una cadena que esta entre dos corchetes, pongo detalles la estructura del archivo es esta [cadena1] attr1 = value1 attr2 = value2 attr3 = value3 attr4 = value4 attr5 = value5 [cadena2] attr1 = value1 attr2 = value2 attr3 = value3 attr4 = value4 attr5 = value5 y ya logre hacer esto, que me gusta como funciona! lineas = [] fichero = open("file.data", "r") for linea in fichero.readlines(): if not linea: break if linea[0] == '[': lineas.append(linea) print lineas fichero.close() y esto me devuelve [cadena1], [cadena2] lo que me interesa guardar en lineas es solo la cadena dentro de los corchetes, pero he hecho mil pruebas y ninguna satisfactoria :( ; me parece que es por ser unos corchetes, como son caracteres q usan las expresiones regulares, el que mejor resultado me dio fue con sub. re.sub('\[','',linea) re.sub('\]','',linea) pero me gustaria hacer esto q logro con dos lineas, hacerlo en una, o mejor, solo extraer el texto que esta dentro de los corchetes, esto me da como resultado que elimina los corchetes, pero es q no es eso lo q me interesa. espero haber sido explicito gracias de antemano ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/