[pyar] Python unicode/decode

Augusto adtononi en gmail.com
Vie Ago 2 11:41:50 -03 2019


Lo hago con esta función:
def xml(self, item, nombre):
cdata = ['url', 'title', 'content', 'bajada']
doc = minidom.Document()
root = doc.createElement("article")
for clave_item, valor_item in item.items():
if clave_item in cdata and valor_item != '':
dato_cdata = doc.createCDATASection(valor_item)
cdv = doc.createElement(clave_item)
cdv.appendChild(dato_cdata)
root.appendChild(cdv)
doc.appendChild(root)
elif valor_item != '':
dato_cdata = doc.createTextNode(valor_item)
cdv = doc.createElement(clave_item)
cdv.appendChild(dato_cdata)
root.appendChild(cdv)
doc.appendChild(root)

fichero = open(f'./xml/' + nombre + datetime.now().strftime("_%H%M%S%f.xml")
, 'wb')
fichero.write(doc.toprettyxml(indent = " ", newl = '\n', encoding=
'iso-8859-1'))
fichero.close()
doc.unlink()


item contiene los elementos de cdata, todos en str.

Para corroborar que los XML se generen bien, los abro con notepad++.
Este problema lo tengo con muy pocos sitios, el 98% de los casos corro el
script y me funciona todo OK

El vie., 2 ago. 2019 a las 11:36, Facundo Batista (<facundobatista en gmail.com>)
escribió:

> Cómo estás poniendo la cadena en el XML?
>
> Y después, ¿cómo estás viendo ese XML?
>
> El vie., 2 de ago. de 2019 a la(s) 10:05, Augusto (adtononi en gmail.com)
> escribió:
>
>> La cadena la termino poniendo en un archivo XML, la primer foto que mande
>> es un .xml y ahí tengo el problema, me muestra los carácteres CCH STS PAU
>> etc.
>> Estuve viendo y los carácteres que no me toma bien son las comillas
>> dobles y simples. Aunque en algunos textos me aparecen otros signos que
>> todavia no sé a que carácteres corresponden.
>>
>> El vie., 2 ago. 2019 a las 10:52, Facundo Batista (<
>> facundobatista en gmail.com>) escribió:
>>
>>> Ok. En el linkode que pasaste (
>>> http://linkode.org/#qZFHYBuiZc4dImHPS0t3u ) veo que ya tenés una cadena
>>> Unicode.
>>>
>>> Mejor aún, esa cadena parece no tener ningún problema (veo todos los
>>> caracteres ok). Entonces, asumo que tu problema no es LLEGAR hasta ahí
>>> (porque hasta ahí está todo bien), sino lo que querés hacer a partir de esa
>>> cadena.
>>>
>>> Contanos entonces qué querés hacer con esa cadena (y qué problema tenés).
>>>
>>> Saludos,
>>>
>>> El vie., 2 de ago. de 2019 a la(s) 09:14, Augusto (adtononi en gmail.com)
>>> escribió:
>>>
>>>> Ahora le hecho un vistazo!
>>>>
>>>> La versión 3.7.3
>>>>
>>>> El vie., 2 ago. 2019 a las 10:04, Facundo Batista (<
>>>> facundobatista en gmail.com>) escribió:
>>>>
>>>>> Estás usando Python 2 o Python 3? (o mejor, qué versión de Python
>>>>> estás usando?)
>>>>>
>>>>> El vie., 2 de ago. de 2019 a la(s) 08:09, Augusto (adtononi en gmail.com)
>>>>> escribió:
>>>>>
>>>>>> Martín, lo tuyo no me cambia el texto. Lo había intentado con
>>>>>> encode('latin1').decode('utf-8') y tampoco tuve suerte.
>>>>>>
>>>>>> Facundo, perdón no había entendido. Te comparto el link
>>>>>> http://linkode.org/#qZFHYBuiZc4dImHPS0t3u
>>>>>>
>>>>>>
>>>>>> El jue., 1 ago. 2019 a las 16:04, Facundo Batista (<
>>>>>> facundobatista en gmail.com>) escribió:
>>>>>>
>>>>>>> Hola!
>>>>>>>
>>>>>>> Perdón que no me expresé de la mejor manera. Con "mostranos que te
>>>>>>> da el print" me refería que pegues ese texto en un pastebin (como
>>>>>>> linkode.org ).
>>>>>>>
>>>>>>> Con un screenshot o una foto no puedo hacer nada.
>>>>>>>
>>>>>>> Gracias! Saludos,
>>>>>>>
>>>>>>> El jue., 1 de ago. de 2019 a la(s) 11:29, Augusto (
>>>>>>> adtononi en gmail.com) escribió:
>>>>>>>
>>>>>>>> Buenasss
>>>>>>>> El texto es scrapeado de un sitio (hago muchos sitios así que puedo
>>>>>>>> decir que el problema del encoding lo tengo con este, los demás me lo traen
>>>>>>>> bien)
>>>>>>>> [image: imagen.png]
>>>>>>>>
>>>>>>>> El jue., 1 ago. 2019 a las 12:14, Facundo Batista (<
>>>>>>>> facundobatista en gmail.com>) escribió:
>>>>>>>>
>>>>>>>>> Hola! Hacé `print(repr(text))` y mostranos el resultado de eso.
>>>>>>>>>
>>>>>>>>> Saludos,
>>>>>>>>>
>>>>>>>>> El jue., 1 de ago. de 2019 a la(s) 10:46, Augusto (
>>>>>>>>> adtononi en gmail.com) escribió:
>>>>>>>>>
>>>>>>>>>> Buenas grupo, estoy teniendo problema para decodificar un texto.
>>>>>>>>>> Como pueden ver en la imagen, me aparecen los ASCII Cc y no sé
>>>>>>>>>> como sacarlos.
>>>>>>>>>> Estaba haciendo
>>>>>>>>>> re.sub(f'[^{re.escape(string.printable)}]', '', text)
>>>>>>>>>> pero esto me elimina también las letras que tengan tilde.
>>>>>>>>>>
>>>>>>>>>> Gracias!
>>>>>>>>>> [image: imagen.png]
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>>>>>>>> Sitio web: http://www.python.org.ar/
>>>>>>>>>>
>>>>>>>>>> Para administrar la lista (o desuscribirse) entrar a
>>>>>>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>>>>>>
>>>>>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software
>>>>>>>>>> Libre de Argentina - http://www.usla.org.ar
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> .    Facundo
>>>>>>>>>
>>>>>>>>> Blog: http://www.taniquetil.com.ar/plog/
>>>>>>>>> PyAr: http://www.python.org.ar/
>>>>>>>>> Twitter: @facundobatista
>>>>>>>>> _______________________________________________
>>>>>>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>>>>>>> Sitio web: http://www.python.org.ar/
>>>>>>>>>
>>>>>>>>> Para administrar la lista (o desuscribirse) entrar a
>>>>>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>>>>>
>>>>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software
>>>>>>>>> Libre de Argentina - http://www.usla.org.ar
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>>>>>> Sitio web: http://www.python.org.ar/
>>>>>>>>
>>>>>>>> Para administrar la lista (o desuscribirse) entrar a
>>>>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>>>>
>>>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>>>>>>>> de Argentina - http://www.usla.org.ar
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> .    Facundo
>>>>>>>
>>>>>>> Blog: http://www.taniquetil.com.ar/plog/
>>>>>>> PyAr: http://www.python.org.ar/
>>>>>>> Twitter: @facundobatista
>>>>>>> _______________________________________________
>>>>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>>>>> Sitio web: http://www.python.org.ar/
>>>>>>>
>>>>>>> Para administrar la lista (o desuscribirse) entrar a
>>>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>>>
>>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>>>>>>> de Argentina - http://www.usla.org.ar
>>>>>>
>>>>>> _______________________________________________
>>>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>>>> Sitio web: http://www.python.org.ar/
>>>>>>
>>>>>> Para administrar la lista (o desuscribirse) entrar a
>>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>>
>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>>>>>> de Argentina - http://www.usla.org.ar
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> .    Facundo
>>>>>
>>>>> Blog: http://www.taniquetil.com.ar/plog/
>>>>> PyAr: http://www.python.org.ar/
>>>>> Twitter: @facundobatista
>>>>> _______________________________________________
>>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>>> Sitio web: http://www.python.org.ar/
>>>>>
>>>>> Para administrar la lista (o desuscribirse) entrar a
>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>
>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>>> Argentina - http://www.usla.org.ar
>>>>
>>>> _______________________________________________
>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>> Sitio web: http://www.python.org.ar/
>>>>
>>>> Para administrar la lista (o desuscribirse) entrar a
>>>> http://listas.python.org.ar/listinfo/pyar
>>>>
>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>> Argentina - http://www.usla.org.ar
>>>
>>>
>>>
>>> --
>>> .    Facundo
>>>
>>> Blog: http://www.taniquetil.com.ar/plog/
>>> PyAr: http://www.python.org.ar/
>>> Twitter: @facundobatista
>>> _______________________________________________
>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>> Sitio web: http://www.python.org.ar/
>>>
>>> Para administrar la lista (o desuscribirse) entrar a
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>
>> _______________________________________________
>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>> Sitio web: http://www.python.org.ar/
>>
>> Para administrar la lista (o desuscribirse) entrar a
>> http://listas.python.org.ar/listinfo/pyar
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>
>
>
> --
> .    Facundo
>
> Blog: http://www.taniquetil.com.ar/plog/
> PyAr: http://www.python.org.ar/
> Twitter: @facundobatista
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20190802/f39de09c/attachment-0001.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: imagen.png
Type: image/png
Size: 15158 bytes
Desc: no disponible
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20190802/f39de09c/attachment-0002.png>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: imagen.png
Type: image/png
Size: 30214 bytes
Desc: no disponible
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20190802/f39de09c/attachment-0003.png>


Más información sobre la lista de distribución pyar