Div文本但不包括某些标记文本

时间:2013-06-03 14:06:11

标签: python xpath lxml

我正在尝试从div获取所有文本,但想要在某些标记中排除某些文本。与<header><h2>some text</h2><header>中的所有文字一样,也可能排除<footer>的文字。

我已经有类似的东西:

tree = <some html> 
XpathArticleSummary = "string(div)"
divs = tree.xpath(XpathArticleSummary)

我想要的是:

XpathArticleSummary = "string(div[not(header|footer)])" 

但这当然不起作用:)。

有没有办法排除?

1 个答案:

答案 0 :(得分:0)

由于你正在使用lxml,这个xpath应该可以工作:

div//text()[not(parent::footer or parent::header)]

它应该为你提供一个文本节点列表。