使用web python下载不同语言的网页

时间:2013-03-21 20:55:15

标签: python beautifulsoup mechanize

我正在尝试使用python中的mechanize模块下载一个网页(俄语)(我的电脑只使用英语)。我收到以下错误

UnicodeEncodeError: 'ascii' codec can't encode characters in position 50-59

有人可以告诉我如何纠正这些类型的错误或它们的意思吗?

1 个答案:

答案 0 :(得分:0)

长话短说,您的原始字符串不是用ASCII编码的,这意味着当尝试打印字符时,python不知道该怎么做,因为原始字符代码超出了ASCII范围。

这是ASCII表及其支持的字符:http://www.asciitable.com/

你可以使用say转换你的角色: Python - Encoding string - Swedish Letters


或者你可以这样做:

(这是很多编码问题的解决方案)


修改:C:\Python??\Lib\Site.py 将“del sys.setdefaultencoding”替换为“pass”,如下所示: Like so

然后,
将此放在代码的顶部:

sys.setdefaultencoding('latin-1')

修复瑞典/非UTF8兼容角色的圣杯。 我不确定拉丁语1会覆盖你所有的俄语字符,如果它不是你可能知道的编码(例如:ISO-8859-15或其他)