2012-07-27 138 views
1

值我有HTML:提取屬性的使用XPath在Python

<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我需要從<img>元素的屬性src提取價值。以下是我已經試過:

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我得到空列表僅[]。我該如何解決這個問題?

+0

使用'img/@ src'。至於爲什麼你得到空列表,如果這是你正在解析的實際HTML,那麼這是可以預料的,因爲它與XPath不匹配。 – 2012-07-27 21:32:55

+0

感謝您的諮詢。這只是HTML-doc的一個縮減。 – 2012-07-28 05:53:57

回答

2

使用這個XPath:

//img/@src 

它會提取所有後代上下文節點的img元素src屬性。

+0

非常感謝,它的工作原理! – 2012-07-28 06:02:17

+0

@Eugene,不客氣! – 2012-07-28 06:27:34