BeautifulSoup内部使用的是Unicode,BeautifulSoup会自动检测输入文件的编码类型将其转换为Unicode。
BeautifulSoup按下面的顺序检测编码:
在BeautifulSoup的源文件中有这么一句代码:
DEFAULT_OUTPUT_ENCODING = "utf-8"
说明BeautifulSoup默认输出编码是utf-8编码,大家在使用的时候需要注意这个。
BeautifulSoup中的originalEncoding变量可以给出BeautifulSoup检测出的文件编码。
import urllib2 from BeautifulSoup import BeautifulSoup doc = urllib2.urlopen("http://www.pythonclub.org/") soup = BeautifulSoup(doc) soup.originalEncoding #u'utf-8'