我正在试图利用雅虎财经网页来获取Python 3.3,httplib2和beautifulsoup4的股票价格数据。这是代码:
def getData (symbol = 'GOOG', period = 'm'):
baseUrl = 'http://finance.yahoo.com/q/hp?s='
url = baseUrl + symbol + '&g=' + period
h = httplib2.Http('.cache')
response, content = h.request(url)
soup = BeautifulSoup(content)
print(soup.prettify())
getData()
我收到以下错误跟踪:
File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/encodings/mac_roman.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\xd7' in position 11875: character maps to <undefined>
我是python和图书馆的新手,非常感谢你的帮助!
答案 0 :(得分:1)
这是由于您的控制台编码。
根据您使用的控制台(Windows,Mac,Linux),控制台会尝试显示无法识别的字符,因此无法打印到屏幕上。
您可以尝试将输出字符串转换为控制台的编码。
我发现一种简单的方法就是将数据转换为字符串并打印得很好。