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

时间:2018-01-30 21:42:31

标签: python unicode web-scraping unicode-normalization

我正在从一个网站上抓取数据,这些网站上有一些非英文字母,例如 Vitória ,因为输出 < EM>维生素\ xf3ria

如何更换\ xf3和其他喜欢它的人?

PS:

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

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

3 个答案:

答案 0 :(得分:1)

感谢评论中的所有帮助,我找到了答案: 积分: @ SYM,@ 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' ) - &gt; now( 'Cear \ xc3 \ xa1-CE'

但在csv中 Ceará-CE

答案 1 :(得分:0)

在Python 3中:

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

答案 2 :(得分:0)

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

因此,不要修复提取的字符串的编码,而是尽早阅读网页的正确编码(使用http标题,元标记等),然后所有被删除的字符串都应该是正确的。