使用Python中的XPath提取属性的值

时间:2012-07-27 20:32:47

标签: python xml xpath lxml

我有HTML:

<table>
<tbody>
<tr>
<td align="left" valign="top" style="padding: 0 10px 0 60px;">
<img src="/files/39.jpg" width="64" height="64">
</td>
<td align="left" valign="middle"><h1>30 Rock</h1></td>
</tr>
</tbody>
</table>

使用Python和LXML我需要从src元素的属性<img>中提取值。这是我尝试过的:

import lxml.html
import urllib

# make HTTP request to site
page = urllib.urlopen("http://my.url.com")
# read the downloaded page
doc = lxml.html.document_fromstring(page.read())

txt1 = doc.xpath('/html/body/table[2]/tbody/tr/td[1]/img')

当我打印txt1时,我只获得空列表[]。我怎么能纠正这个?

1 个答案:

答案 0 :(得分:2)

使用此XPath:

//img/@src

它将提取上下文节点的所有后代src元素的img属性。