我想做什么:我正在从数据库中获取uri列表并下载它们,删除停用词并计算单词在网页中出现的频率,然后尝试保存在mongodb中。
问题:当我尝试将结果保存到数据库中时,出现错误bson.errors.invalidDocument:该文档必须是有效的utf-8
它似乎与代码'\ xc3someotherstrangewords','\ xe2something'有关当我处理网页时,我尝试删除标点符号,但是我无法删除重音符号,因为我会输入错误的单词。
我已经尝试过的东西我试过通过网页标题识别char编码我已经尝试过使用chardet
利用re.compile(r“ [^ a-zA-Z]”)和/或unicode(变量,'ascii','ignore');这对非英语语言不利,因为它们会消除重音。
我想知道的是:有谁知道如何识别字符并转换为正确的单词/编码?例如从网页'\ xe2'获取并转换为'â'
((英语不是我的母语,所以请原谅我)编辑:如果有人想看source code
很难找到网站的正确字符编码,因为标题中的信息可能是错误的。 BeautifulSoup在猜测字符编码方面表现出色,并自动将其解码为Unicode。