我有通过Python用Lxml解析的HTML页面。问题是我必须从HTML图像标记的值中获取,这些值没有任何class或id属性。像这样:
<table cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td align="left" valign="top" style="padding: 0 10px 0 60px;">
<img src="/files/135.jpg" width="64" height="64">
</td>
<td align="left" valign="middle"><h1>Archer / Арчер</h1>
</td>
</tr>
</tbody></table>
所以,为了解决我的任务,我有一个问题 - 可以编写类似jquery的表达式来从这个HTML中选择图像标签,或者我必须通过迭代提取属性所有img标签并获取src属性,具有特定的宽度和高度?
答案 0 :(得分:0)
您应该尝试xpath - 由lxml支持。 你可以使用firepath插件为mozilla firefox稍微玩一下xpath。 你的xpath表达式的结尾可能是(宽度> 64?) ............ / img [@ border =“0”]
答案 1 :(得分:0)
此xpath
查询适用于您的示例数据:
import lxml.html
root = lxml.html.fromstring('your sample data').getroottree()
root.xpath("//img[@width='64' and @height='64']/@src")
# ['/files/135.jpg']