[Python-es] Extraer datos de código html usando regex

Kiko kikocorreoso en gmail.com
Mie Jul 30 12:19:59 CEST 2014


El 30 de julio de 2014, 11:54, Guillermo Vaya <nadaird en gmail.com> escribió:

> En general, no usaria un regex para parsear html (o ningun tipo de XML) a
> menos que estuviera 100% seguro de que lo que busco no va a cambiar en la
> vida (siempre desde la misma fuenta y generado a maquina). Sino que
> utilizaria un parser especializado para ello. en la propia libreria
> estandar de python hay uno[1] y ademas hay muchas librerias especializadas
> (como beautiful soup [2]) que posiblemente lo faciliten aun mas.
>
> Asi en un vistazo rapido, podria fallarte si
>
> alguien mete espacio de mas entre los atributos del tag
> se incluyera algun otro atributo de img antes del data:el alt que tienes
> en el ejemplo bien podria haber sido escrito antes del data
> se usaran comillas simples para definir los valores del atributo (lo
> normal es doble, pero es aceptable tambien)
>

Todo cierto!!

A priori, todo proviene de un proceso automatizado (aunque puede cambiar en
el futuro y romper las cosas).


> [1]: https://docs.python.org/3/library/html.parser.html
>

Voy a probar a ver si me resuelve la papeleta. Gracias. Aunque sigo
pensando que re es más potente y da mayor libertad, pero también es cierto
que es más esotérico y puede dar infinitos problemas (como los ejemplos que
has puesto)

Gracias.


>
> [2]: http://www.crummy.com/software/BeautifulSoup/
>
>
> 2014-07-30 10:58 GMT+02:00 Kiko <kikocorreoso en gmail.com>:
>
>
>>
>>
>> El 30 de julio de 2014, 10:33, Eduard Diaz <eventgrafic en gmail.com>
>> escribió:
>>
>>  No hace falta que lo parsees a mano utiliza la libreria base64[1]
>>>
>>>
>> Creo que no lo he explicado correctamente. El problema de transformar la
>> información está resuelto. Mi problema es como obtener la información para
>> poder transformarla.
>>
>>
>>>
>>> [1]
>>> http://www.programcreek.com/2013/09/convert-image-to-string-in-python/
>>>
>>> El día 30 de julio de 2014, 9:25, Kiko <kikocorreoso en gmail.com>
>>> escribió:
>>> > Hola a todos.
>>> >
>>> > Estoy intentando extraer información de imágenes de un código html
>>> > (http://en.wikipedia.org/wiki/Data_URI_scheme)
>>> >
>>> > El formato sería el siguiente:
>>> >
>>> > <img
>>> >
>>> src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXcAAAEACAYAAABI5zaHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
>>> > AAALEgAACxIB0t1+/AAA" />
>>> >
>>> >
>>> > Me interesa extraer la extensión de la imagen (png en el anterior
>>> ejemplo) y
>>> > los datos que vienen después de 'base64,' hasta el cierre de comillas
>>> '"',
>>> > es decir,
>>> >
>>> 'iVBORw0KGgoAAAANSUhEUgAAAXcAAAEACAYAAABI5zaHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
>>> > AAALEgAACxIB0t1+/AAA'.
>>> >
>>> >
>>> > Tengo un ejemplo aquí,
>>> > https://gist.github.com/anonymous/75ab61f586c19e767cf0, pero estoy
>>> seguro de
>>> > que mi regex me va a fallar en cuanto encuentre alguna cosa más rara.
>>> >
>>> > ¿Alguien me podría indicar si el regex vale o si debería modificarlo
>>> para
>>> > que no me dé falsos positivos o acepte falsos negativos?
>>> >
>>> > Muchas gracias por adelantado.
>>> >
>>> >
>>> > _______________________________________________
>>> > Python-es mailing list
>>> > Python-es en python.org
>>> > https://mail.python.org/mailman/listinfo/python-es
>>> > FAQ: http://python-es-faq.wikidot.com/
>>> >
>>> _______________________________________________
>>> Python-es mailing list
>>> Python-es en python.org
>>> https://mail.python.org/mailman/listinfo/python-es
>>> FAQ: http://python-es-faq.wikidot.com/
>>>
>>
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> https://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20140730/e8811391/attachment.html>


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