如何从网站识别字符编码?

问题描述 投票:3回答:1

我想做什么:我正在从数据库中获取uri列表并下载它们,删除停用词并计算单词在网页中出现的频率,然后尝试保存在mongodb中。

问题:当我尝试将结果保存到数据库中时,出现错误bson.errors.invalidDocument:该文档必须是有效的utf-8

它似乎与代码'\ xc3someotherstrangewords','\ xe2something'有关当我处理网页时,我尝试删除标点符号,但是我无法删除重音符号,因为我会输入错误的单词。

我已经尝试过的东西我试过通过网页标题识别char编码我已经尝试过使用chardet

利用re.compile(r“ [^ a-zA-Z]”)和/或unicode(变量,'ascii','ignore');这对非英语语言不利,因为它们会消除重音。

我想知道的是:有谁知道如何识别字符并转换为正确的单词/编码?例如从网页'\ xe2'获取并转换为'â'

((英语不是我的母语,所以请原谅我)编辑:如果有人想看source code

character-encoding python-2.7 nlp nltk
1个回答
3
投票

很难找到网站的正确字符编码,因为标题中的信息可能是错误的。 BeautifulSoup在猜测字符编码方面表现出色,并自动将其解码为Unicode。

© www.soinside.com 2019 - 2024. All rights reserved.