首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >BeautifulSoup UnicodeEncodeError

BeautifulSoup UnicodeEncodeError
EN

Stack Overflow用户
提问于 2016-03-16 07:43:24
回答 1查看 1K关注 0票数 0

我正试图解析我保存到计算机上的HTML页面 (Windows 10)

代码语言:javascript
运行
复制
from bs4 import BeautifulSoup

with open("res/JLPT N5 vocab list.html", "r", encoding="utf8") as f:
    soup = BeautifulSoup(f, "html.parser")
tables = soup.find_all("table")
sectable= tables[1]
for tr in sectable.contents[1:]:
    if tr.name == "tr":
        try:
            print(tr.td.a.get_text())
        except(AttributeError):
            continue

它应该在第一栏中打印所有日语单词,但是在print(tr.td.a.get_text()) said UnicodeEncodeError: 'charmap" codec can't encode character in position 0-1: character maps to (undefined)上出现了错误,那么,我该如何解决这个错误呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-16 08:37:24

最后,根据美丽的汤文件杂。的说法,我解决了它

UnicodeEncodeError:“charmap”编解码器不能在位置栏中编码字符u'\xfoo‘(或其他任何UnicodeEncodeError) --这不是美容汤的问题。这个问题出现在两种主要情况下。首先,当您试图打印控制台不知道如何显示的Unicode字符时。(有关帮助,请参阅Python上的这个页面。)其次,当您写入文件并传入默认编码不支持的Unicode字符时。在这种情况下,最简单的解决方案是使用u.encode("utf8")将Unicode字符串显式编码到UTF-8中。

在我的例子中,这是因为我试图打印我的控制台不知道如何显示它的Unicode字符。

因此,我将系统区域设置更改为日语(因此控制台代码被更改,可以选择支持日语的控制台字体),然后将控制台字体更改为MS 启用控制台的TrueType字体 (此字体在我更改系统区域设置后出现)。

如果我想将它写入文件,我只需打开文件并将编码指定为UTF-8。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36029483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档