python - 在Python中使用XPath提取属性值

标签 python xml xpath xslt 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时我只得到空列表 [] 。我该如何纠正这个问题?

最佳答案

使用此 XPath:

//img/@src

选择整个输入 XML 文档中所有 img 元素的 src 属性

关于python - 在Python中使用XPath提取属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11695271/

相关文章:

python - 阅读文档本地安装 : Celery ValueError: signal only works in main thread

python - 如何更新我的 Django 版本?

python - Google App Engine mysql 架构迁移

android - 膨胀类 android.support.v7.widget.Toolbar 时出错

java - 为什么我在 Java 中的 XPath 表达式返回太多子项?

python - Boto CloudSearch 可搜索文档计数

Android:我可以重复使用图层列表吗?

xml - fo : entity referenced but not declared

java selenium 使用 xpath 浏览网页

c# - 一个 XmlDataProvider WPF 的多个 XPath