在python中使用lxml检索div标签中的文本

时间:2013-08-12 05:00:03

标签: python-2.7 xpath lxml

我有这个HTML代码:

<div class="row">
<span class="label">Source:</span>
08/09/2013
</div>
<div class="row">
<span class="label">Last revised:</span>
08/09/2013
</div>

我想使用以下代码检索发布日期和上次修订日期:

url="http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4031&cid=2"
html=urllib.urlopen(url)
parser=etree.HTMLParser()
tree=etree.parse(html,parser)
root=tree.getroot()

for div in tree.iter('div'):
 title=div.xpath('.//child::*')
 if( title[0].text=="Source:"):
  print (#release date#)

我尝试打印div.text,但是没有工作。我怎样才能做到这一点? 我使用python 2.7和lxml。

1 个答案:

答案 0 :(得分:1)

这是tail元素的span,而不是div的文字。

for div in tree.iter('div'):
    title = div.xpath('.//child::*')
    if title[0].text == 'Source:':
        print(title[0].tail.strip())