用它们的正常形式替换“\xf3”和“\xe9”

replacing "\xf3" and "\xe9" with their normal forms

我正在从一个网站上抓取数据,该网站有一些非英文字母,例如 Vitória,这完全弄乱了我的数据因为输出是 Vit\xf3ria.

如何替换 \xf3 和其他类似的?

ps:

text.replace('\xf3', '') 

不起作用。如果可能的话,我希望以 csv 格式显示和保存 ó 或此类字母。

在Python 3:

>>> bytes('Vit\xf3ria', 'unicode-escape').decode('unicode-escape')
'Vitória'

感谢评论中的所有帮助,我找到了答案: 学分: @SIM、@match、@t.m.adam 和@dax

开始了。

text.encode('utf-8').strip()

感谢大家。

代码原样:

...
for cell2n3 in row.findAll('div', attrs={'class': 'KambiBC-event-participants__name'}):
    cell2n3append.append(cell2n3.text.encode('utf-8').strip())
...

ps 在终端中,输出与以前一样......例如

之前('Cear\xe1-CE') -->现在('Cear\xc3\xa1-CE')

但在 csv 中它是 Ceará-CE

修复您的编码错误尽早,而不是后期字符替换。

因此,与其固定提取字符串的编码,不如尽早阅读网页的正确编码(使用 http headers、元标记等),然后所有抓取的字符串应该都是正确的。