gpt4 book ai didi

python - 用lxml解析html(标签h3)

转载 作者:行者123 更新时间:2023-11-28 04:40:50 25 4
gpt4 key购买 nike

我正在尝试解析一些 html,但是这段 html 代码有点问题。

XML:

<div>
<p><span><a href="../url"></a></span></p>
<h3 class="header"><a href="../url">Other</a></h3>
<a href="../url">Other</a><br>
<a class="aaaaa" href="../url">Indice</a>
<p></p>
</div>

代码:

import urllib
from lxml import etree
import StringIO
resultado=urllib.urlopen('trozo.html')
html = resultado.read()
parser= etree.HTMLParser()
tree=etree.parse(StringIO.StringIO(html),parser)
xpath='/div/h3'
html_filtrado=tree.xpath(xpath)
print html_filtrado

当我打印它出现的代码时 [],我想它应该是一个带有 <h3 class="header"><a href="../url">Other</a></h3> 的列表。在里面。如果我有那个列表,我会执行 etree.tostring(html_filtrado) 来查看 <h3 class="header"><a href="../url">Other</a></h3> .

那么怎么才能得到这个code呢?

<h3 class="header"><a href="../url">Other</a></h3>

或者只有../url ?这是我想要的部分!!

谢谢

最佳答案

您示例中的 XPath 查询不太正确。

要获取 div 标签中所有 h3 标签的列表,您应该使用:

elements = tree.xpath('//div/h3')
etree.tostring(elements[0])

应该给出:

'<h3 class="header"><a href="../url">Other</a></h3>\n'

要获取 h3 标签内 a 标签的所有 href 属性的列表,您可以使用如下内容:

tree.xpath('//h3/a/@href')

给出:

['../url']

关于python - 用lxml解析html(标签h3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7909809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com