我有一个工作示例,它使用给定的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
答案 0 :(得分:0)
您可以在xpath表达式中使用索引:(//*[@href='http://site.com/'])[1]
答案 1 :(得分:0)
确保它真正更快的唯一方法是衡量,衡量和衡量。 timeit module可以提供帮助。
回到你的问题,这个怎么样?
text = root.xpath('//*[@href='http://site.com/'][1]/text()')