我正在尝试使用html代码解析页面,如下所示:
<html>
..
<h2><span id='identifiedid'>Identified Header<span>...</span></span></h2>
<ul>
<li><a href='links i want'></a>...</li>
<li><a href='links i want'></a>...</li>
<li><a href='links i want'></a>...</li>
</ul>
..
</html>
我使用Python代码使用lxml解析器解析页面。我能够识别使用xpath指示的元素的id。但是,我需要访问的链接没有用于识别它们的类/ id,它们也不在id的范围内。有没有办法访问相邻元素的这些链接?我尝试过getnext(),但它无法访问ul和li元素
答案 0 :(得分:1)
您可以使用span
获取getparent()
的父级,然后使用ul
获取getnext()
元素:
root = etree.XML(open("lx.xml").read())
span = root.xpath("//span[@id='identifiedid']")[0]
print span.getparent().getnext().xpath('li/a/@href')