使用python 2.7进行Prettify()错误

时间:2015-01-07 11:47:08

标签: python-2.7 beautifulsoup urllib2

代码:

import urllib2
from bs4 import BeautifulSoup

page1 = urllib2.urlopen("http://en.wikipedia.org/wiki/List_of_human_stampedes")
soup = BeautifulSoup(page1)

print(soup.prettify())

错误:

Traceback (most recent call last):
  File "C:\Users\sony\Desktop\Trash\Crawler Try\try2.py", line 7, in <module>
    print(soup.prettify())
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe8' in position 8775: ordinal not in range(128)
[Finished in 2.4s with exit code 1]

我似乎无法得到错误。我使用的是Python 2.7.9。

1 个答案:

答案 0 :(得分:1)

如果你有一个控制台作为ASCII,那么在打印期间,有一个从unicode到ascii的转换,如果在ASCII范围之外有字符,则抛出异常。

但是如果控制台可以接受unicode,那么一切都会正确显示。请尝试此命令并再次运行程序

  

export LANG = en_US.UTF-8