我正在使用BeautifulSoup从网站上抓取数据,但是从cmd无法正确显示汉字。
它打印\ u7b54 \ u6848 \ u9808 \而不是汉字。
这是我的代码: (网站编码为utf-8。)
for item in links:
print (item)
page = urllib2.urlopen(item)
#page.encoding = 'utf8'
page = page.read().decode('utf-8')
soup = BeautifulSoup(page , 'lxml')
divTag = soup.find_all("div", {"class": "t_fsz"})
for tag in divTag:
postData = tag.find_all("td")
print (postData)
我尝试了不同的编码/解码,但是我总是得到相同的输出。如何获得正确的汉字?谢谢!
答案 0 :(得分:1)
在Python 2上,您需要encode
的字符串print
用于当前的输出编码。
我们不知道您的系统是如何配置的,但是您应该能够找到数百个类似的问题-可能会在您的平台中抛出,并且会使用搜索中使用的编码来缩小范围。
如果可能的话,我建议改用Python 3。