最佳答案
我在处理从不同网页(在不同网站上)获取的文本中的Unicode字符时遇到问题。我正在使用美丽的汤。
问题是错误并不总是可重复的;它有时适用于某些页面,有时,它通过抛出UnicodeEncodeError
来呕吐。我已经尝试了几乎所有我能想到的东西,但我还没有找到任何可以在不抛出某种Unicode相关错误的情况下始终如一地工作的东西。
导致问题的代码部分之一如下所示:
agent_telno = agent.find('div', 'agent_contact_number')agent_telno = '' if agent_telno is None else agent_telno.contents[0]p.agent_info = str(agent_contact + ' ' + agent_telno).strip()
这是运行上面的代码段时在某些字符串上生成的堆栈跟踪:
Traceback (most recent call last):File "foobar.py", line 792, in <module>p.agent_info = str(agent_contact + ' ' + agent_telno).strip()UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 20: ordinal not in range(128)
我怀疑这是因为某些网页(或更具体地说,某些网站的网页)可能已编码,而其他网页可能未编码。所有网站都位于英国,并提供供英国消费的数据-因此不存在与内部化或处理用英语以外的任何文本有关的问题。
有没有人有任何想法如何解决这个问题,以便我可以一致地解决这个问题?