我正在尝试解析 HTML,但不幸的是 lxml
不允许我获取实际文本:
node = lxml.html.fromstring(r.content)
self.fingerprint['Title'] = node.cssselect('.document-title div')[0].text
print '@@####', self.fingerprint['Title']
# @@#### Démineurs
我需要做什么才能正确解析此文本?这是网页:https://play.google.com/store/movies/details/D%C3%A9mineurs?id=KChu8wf5eVo&hl=fr文本应为 Démineurs。
最佳答案
文档没有编码信息,因此您需要创建一个默认使用正确编码的解析器。
>>> lxml.html.fromstring('<p>é</p>').text
u'\xc3\xa9'
>>> hp = lxml.etree.HTMLParser(encoding='utf-8')
>>> lxml.html.fromstring('<p>é</p>', parser=hp).text
u'\xe9'
关于python - lxml 没有为 HTML 正确解析 unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29057188/