El 30 de julio de 2014, 10:58, Kiko <kikocorre...@gmail.com> escribió:

>
>
>
> El 30 de julio de 2014, 10:33, Eduard Diaz <eventgra...@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.
>

Así visto, no parece que te vaya a dar problemas, aunque se puede hacer más
fácil.

Alternativas:

1) Hacer que el módulo 're' extraiga la información necesaria

pat = re.compile('<img src="data:image/(.*?);base64,(.*?)"',  re.DOTALL)
for (ext, data) in pat.findall(texto):
  ....

2) Utilizar algún módulo de scraping (eg: BeautifulSoup)

from bs4 import BeautifulSoup
soup = BeautifulSoup(html)

for img in soup.find_all("img"):
    src = img["src"]
    ...

Una vez que obtienes el 'src' puedes usar tú método con expresiones
regulares o, mucho mejor, urlretrieve como en el método siguiente:


3) Utilizar urlretrieve

Python2: from urllib import urlretrieve
Python3: from urllib.request import urlretrieve

import os
import shutil
from urllib import urlretrieve

local_file, headers = urlretrieve(src)
ext = headers.subtype
shutil.copy(local_file, "mifichero.{}".format(ext))



PD: espero que funcione tal cual, porque no he probado nada.



>
>
>>
>> [1]http://www.programcreek.com/2013/09/convert-image-to-string-in-python/
>>
>> El día 30 de julio de 2014, 9:25, Kiko <kikocorre...@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@python.org
>> > https://mail.python.org/mailman/listinfo/python-es
>> > FAQ: http://python-es-faq.wikidot.com/
>> >
>> _______________________________________________
>> Python-es mailing list
>> Python-es@python.org
>> https://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>
>
> _______________________________________________
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>


-- 
Hyperreals *R  "Quarks, bits y otras criaturas infinitesimales":
http://ch3m4.org/blog
Buscador Python Hispano: http://ch3m4.org/python-es
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a