当我得到一个网页时,我使用 UnicodeDammit 将其转换为 utf-8 编码,就像:
import chardet
from lxml import html
content = urllib2.urlopen(url).read()
encoding = chardet.detect(content)['encoding']
if encoding != 'utf-8':
content = content.decode(encoding, 'replace').encode('utf-8')
doc = html.fromstring(content, base_url=url)
但是当我使用时:
text = doc.text_content()
print type(text)
输出是<type 'lxml.etree._ElementUnicodeResult'>
。为什么?我认为这将是一个 utf-8 字符串。