我正在尝试使用BeautifulSoup和urllib2从网站上获取一些西班牙语文本。我目前得到这个:¡Hola! ¿Cómo estás?
。
我已经尝试应用我在相关线程上看到的不同的unicode函数,但似乎没有什么对我的问题有效:
# import the main window object (mw) from aqt
from aqt import mw
# import the "show info" tool from utils.py
from aqt.utils import showInfo
# import all of the Qt GUI library
from aqt.qt import *
from BeautifulSoup import BeautifulSoup
import urllib2
wiki = "http://spanishdict.com/translate/hola"
page = urllib2.urlopen(wiki)
soup = BeautifulSoup(page)
dictionarydiv = soup.find("div", { "class" : "dictionary-neodict-example" })
dictionaryspans = dictionarydiv.contents
firstspan = dictionaryspans[0]
firstspantext = firstspan.contents
thetext = firstspantext[0]
thetextstring = str(thetext)
答案 0 :(得分:0)
thetext
是<class 'BeautifulSoup.NavigableString'>
类型。打印它会返回一个Unicode字符串,该字符串将在输出终端编码中编码:
print thetext
输出(在Windows控制台中):
¡Hola! ¿Cómo estás?
这适用于为支持打印的Unicode字符的编码配置的任何终端。
如果您的终端配置了不支持您尝试打印的Unicode字符的编码,您将获得UnicodeEncodeError
。
在该类型上使用str
将返回一个字节字符串...在本例中以UTF-8编码。如果您在除UTF-8配置终端之外的任何设备上打印,则显示不正确。