使用BeautifulSoup编码错误汉字

时间:2019-02-14 07:14:44

标签: python python-2.7 beautifulsoup

我正在使用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)

我尝试了不同的编码/解码,但是我总是得到相同的输出。如何获得正确的汉字?谢谢!

1 个答案:

答案 0 :(得分:1)

在Python 2上,您需要encode的字符串print用于当前的输出编码。

我们不知道您的系统是如何配置的,但是您应该能够找到数百个类似的问题-可能会在您的平台中抛出,并且会使用搜索中使用的编码来缩小范围。

如果可能的话,我建议改用Python 3。