gpt4 book ai didi

python - 代码中的Xpath解释

转载 作者:行者123 更新时间:2023-12-01 06:11:51 24 4
gpt4 key购买 nike

在我工作的公司,我必须深入研究这部分代码。您的其中一个解析失败,并且怀疑这部分代码存在错误,但由于我缺乏经验,我无法准确地弄清楚它应该做什么。

from lxml import etree
uni = etree.tounicode

def results(self):
return [(e.attrib['href'], uni(e))
for e in self.doc.xpath('//li[@class="g" and not(class="localbox")]//a[@class="l"]')]

最佳答案

XPath 表达式执行以下操作:

//li[@class="g" and not(class="localbox")]//a[@class="l"]
^ ^ ^ ^ ^
1 2 3 4 5
  1. 查找所有出现的 <li>元素
  2. 具有名为 class 的属性值(value)g (例如<li class="g">)
  3. 没有子元素 class带有字符串值 localbox (稍后会解释)
  4. 之后它会找到所有 <a>那些“里面”的元素<li>元素
  5. 具有属性名称 class值(value)1 (例如<a class="1">)

有趣的部分是3。可能有一个@前面失踪了class 。在这种情况下,语句将是: 3. that dont have a attribute name class值(value)localbox .

节点元素的隐式字符串值转换和比较......至少可以说很容易出错。我认为您不想要那样的东西。

希望有帮助。

关于python - 代码中的Xpath解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5500961/

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