gpt4 book ai didi

Python lxml.html XPath "attribute not equal"运算符未按预期工作

转载 作者:太空宇宙 更新时间:2023-11-04 14:42:35 24 4
gpt4 key购买 nike

我正在尝试运行以下脚本:

#!python

from urllib import urlopen #urllib.request for python3
from lxml import html

url = 'http://mpk.lodz.pl/rozklady/1_11_D2D3/00d2/00d2t001.htm?r=KOZINY'+\
'%20-%20Srebrzy%F1ska,%20Cmentarna,%20Legion%F3w,%20pl.%20Wolno%B6ci'+\
',%20Pomorska,%20Kili%F1skiego,%20Przybyszewskiego%20-%20LODOWA'

raw_html = urlopen(url).read()
tree = html.fromstring(raw_html) #need to .decode('windows-1250') in python3
ret = tree.xpath('//td [@class!="naglczas"]')
print ret
assert(len(ret)==1)

我希望它选择一个没有将其类设置为“naglczas”的 td。相反,它返回一个空列表。这是为什么?我想这其中有一些愚蠢的原因,但我尝试使用谷歌搜索,但没有找到任何可以解释的原因。

最佳答案

你的xpath表达式会找到

a td element that has a class which is not "naglczas"

你似乎想要(因为只有 3 个 td-s 有一个类有相同的类你不想要)

a td element which does not have a class of "naglczas"


这些听起来可能很相似,但它们是不同的。有点像

tree.xpath('//td[not(@class="naglczas")]')

应该让你得到你想要的。


此外,您不需要使用 urllib 打开 url,lxml 可以为您完成,使用 lxml.html.parse()

关于Python lxml.html XPath "attribute not equal"运算符未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13219180/

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