小编Gre*_*ams的帖子

用美丽的汤处理xml处理编码错误

我的xml文件编码如此:

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

我试图用美丽的汤解析这个文件.

from bs4 import BeautifulSoup

fd = open("xmlsample.xml")  
soup = BeautifulSoup(fd,'lxml-xml',from_encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)

但这导致了

Traceback (most recent call last):
  File "C:\Users\gregg_000\Desktop\Python 
Experiments\NRE_XMLtoCSV\NRE_XMLtoCSV\bs1.py", line 4, in <module>
    soup = BeautifulSoup(fd,'lxml-xml', from_encoding='utf-8')
  File 
"C:\Users\gregg_000\AppData\Local\Programs\Python\Python36\lib\site- 
Run Code Online (Sandbox Code Playgroud)

packages\bs4__init __.py",第245行,在init markup = markup.read()文件中

"C:\ Users\gregg_000\AppData\Local\Programs\Python\Python36\lib\encodings\cp125 2.py",第23行,解码返回codecs.charmap_decode(input,self.errors,decoding_table)[0] UnicodeDecodeError :'charmap'编解码器无法解码位置5343910中的字节0x9d:字符映射到undefined

我的感觉是Python想要使用默认的cp1252字符集.如何在不必诉诸命令行的情况下强制使用utf-8?(我在一个设置中,我不能轻易地强制全局更改python设置).

python xml beautifulsoup

6
推荐指数
1
解决办法
91
查看次数

标签 统计

beautifulsoup ×1

python ×1

xml ×1