在python中使用lxml解析HTML文档

在python中使用lxml解析HTML文档,python,lxml,Python,Lxml,我刚刚下载了lxml来解析破损的HTML文档。我阅读了lxml的文档,但没有发现给定一个HTML文档,如何使用lxml检索文档中的文本。如果有人能帮我,我将不胜感激。很简单: from lxml import html html_document = ... #Get your document contents here from a file or whatever tree = html.fromstring(html_document) text_document = tree.tex

我刚刚下载了lxml来解析破损的HTML文档。我阅读了lxml的文档,但没有发现给定一个HTML文档,如何使用lxml检索文档中的文本。如果有人能帮我,我将不胜感激。

很简单:

from lxml import html
html_document = ... #Get your document contents here from a file or whatever

tree = html.fromstring(html_document)
text_document = tree.text_content()
如果只需要特定块(例如,正文块)中的内容,则可以使用xpath表达式访问它们:

body_tags = tree.xpath('//body')
if body_tags:
  body = body_tags[0]
  text_document = body.text_content()
else:
  text_document = ''

lxml在这方面可能有点低,你考虑过吗?我试过BeatuifulSoup,但它不能像lxml那样处理损坏的HTML!!!请让我知道“检索文档中的文本”的语法,您是指检索特定元素中的文本吗?是否有方法使用lxml仅读取标题中的文本和正文中的文本