我从Merriam-Webster的API本地保存xml页面,让我给你一个url: http://www.dictionaryapi.com/api/v1/references/collegiate/xml/apple?key=bf534d02-bf4e-49bc-b43f-37f68a0bf4fd
这是一个例子。 我从url中获取它并将其保存为xml文件。
现在我想打开它,但发生UnicodeDecodeError
。
我做了:
page = open('test.xml')
bs = BeautifulSoup(page)
然后发生以下错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xcb
我尝试将网址u'test.xml'
设置为无效。
sys.getdefaultencoding() ' UTF-8'
编码配置已经是utf-8,无论如何都无法解决问题。感谢您的建议。
答案 0 :(得分:1)
您需要将编码指定为utf-8,这是数据编码的内容,文件名与内部的内容无关,因此前缀为u以使unicode字符串无效:
import io
with io.open('test.xml', encoding="utf-8") as page:
bs = BeautifulSoup(page)