2016-06-13 59 views
0

python xpath用于从html中提取div html。例如,如下面的html所示。python xpath从html中提取第一部分html,它具有三个以上相同的div

<html> 
    <body> 
    <div class="main"> 
    <div class="headline"> 
    <h2>123</h2> 
    </div> 
    <div class="headline"> 
    <h2>abc</h2> 
    </div> 
    <div id="content"> 
    <div class="headline"> 
    <h2>efg</h2> 
    </div> 
    </div> 
    </div> 
    </body> 
    </html> 

我只是想以提取下列部分DIV HTML对我来说或者只是抽取123文本:

<div class="headline"> 
    <h2>123</h2> 
    </div> 

我的代码显示如下:

title = tree.xpath('//div[contains(@class, "headline")]/h2') 

,但我得到了所有的三个html数据。实际上,我只想获得123数据html部分。请使用xpath方法。谢谢!

回答

0

如果你想演这个角色:

<div class="headline"> 
<h2>123</h2> 
</div> 

使用此XPath:

(//div[contains(@class, "headline")])[1] 

你的XPath返回的匹配元素的列表中,()[1]部分返回对列表的第一项。

相关问题