我使用HtmlCleaner库来解析html文件并通过其XPath函数提取一些数据。这种方法效果非常好,但是我找不到一种方法来获取节点的文本内容(没有子节点的内容)。 正如很多基本的XPath文档中所述,text()应该给出一个没有子元素内容的节点的内容,但是htmlcleaner集成似乎没有遵循这一点。 有没有办法用htmlcleaners XPath做到这一点?
UPADTE:这是一个例子:
我的HTML就是这个页面,http://www.imdb.com/title/tt0499549/?ref_=nv_sr_1 这是html的片段:
<div class="txt-block">
<h4 class="inline">Budget:</h4>
$237,000,000
<span class="attribute">(estimated)</span>
</div>
这是我的XPath(在这种情况下div [7]采用.txt-block div)
//*[@id='titleDetails']/div[7]/text()
这导致“预算:237,000,000美元(估计)”,但是 我只希望“$ 237,000,000”不是h4的内容,而不是跨度的内容。