unicodeencodeerror - python open encoding
El códec ''ascii'' no puede decodificar el byte 0xcb mientras hace bs (1)
Esta pregunta ya tiene una respuesta aquí:
Guardo la página xml localmente desde una API de Merriam-Webster, déjame darte la url: http://www.dictionaryapi.com/api/v1/references/collegiate/xml/apple?key=bf534d02-bf4e-49bc -b43f-37f68a0bf4fd
Ese fue un ejemplo. Lo recuperaré de la url y lo guardaré como un archivo xml.
Ahora quiero abrirlo pero ocurre UnicodeDecodeError
.
Yo si :
page = open(''test.xml'')
bs = BeautifulSoup(page)
Entonces ocurre el siguiente error:
UnicodeDecodeError: ''ascii'' codec can''t decode byte 0xcb
Intenté hacer el url u''test.xml''
no funcionó.
sys.getdefaultencoding () ''utf-8''
La configuración de codificación ya es utf-8, lo que no resuelve el problema, gracias por el consejo de todos modos.
Necesita especificar la codificación como utf-8, que es como se codifican los datos, el nombre del archivo no tiene nada que ver con lo que está dentro, por lo que prefijar con u para hacer una cadena Unicode no va a ayudar:
import io
with io.open(''test.xml'', encoding="utf-8") as page:
bs = BeautifulSoup(page)