0

我有工作示例,它生成具有给定 href 的 html 元素列表。但我只需要第一个,速度很重要,如何优化这段代码?

import lxml.html
input = """<div class="post" style="height: 36px; ">
some div text 
<a href="http://site.com/" target="_blank">Look here</a>, 
some div text also </div>
"""
root = lxml.html.fromstring(input)
el = root.xpath("//*[@href='http://site.com/']")[0]
el.text
4

2 回答 2

0

确保它真的更快的唯一方法是测量、测量、测量。timeit模块可以提供帮助。

回到你的问题,这个怎么样?

text = root.xpath('//*[@href='http://site.com/'][1]/text()')
于 2012-07-28T09:03:38.750 回答
0

您可以在 xpath 表达式中使用索引:(//*[@href='http://site.com/'])[1]

于 2012-05-27T14:47:06.897 回答