在验证列内容时,使用lxml语法解析表元素时出错

时间:2012-05-18 19:09:33

标签: python html lxml

我有以下代码来解析html表。如何在<td>元素中检查指定的文本?这不起作用:val=doc.xpath('//tr/td[child::*[text()="Street :"]/span/text()')。我只是在<span>文字与'街道:'匹配时尝试提取<td>文字。任何反馈都非常感谢!

import lxml.html as lh

html='''<tr>
<td>
Street : <span> High St. </span>
</td>
</tr>
<tr>
<td>
City : <span> Hightstown </span>
</td>
</tr>'''

doc=lh.fromstring(html)

#val=doc.xpath('//tr/td[child::*[text()="Street :"]/span/text()')
#street=doc.xpath('//tr/td/text()')
val=doc.xpath('//tr/td/span/text()')

#print street
print val

1 个答案:

答案 0 :(得分:2)

>>> doc.xpath('//tr/td[contains(text(),"Street :")]/span/text()')
[' High St. ']