我試圖運行下面的腳本:Python的lxml.html的XPath「屬性不等於」預期運營商不工作
#!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)
我希望它選擇不具有同級車中一個TD設置爲'naglczas'。相反,它會返回一個空列表。這是爲什麼?我猜這有一些愚蠢的原因,但我嘗試了谷歌搜索,沒有發現任何可以解釋它的東西。
看看頁面源代碼,我沒有看到這樣的元素。 'td'元素或者將'class'設置爲''naglczas「'或者完全沒有這樣的屬性。 –
確實// td [not(@ class =「naglczas」)]做你需要的東西嗎? – andrean
是的!謝謝!另外,Lev Levitsky,是否意味着我不能將!=應用於沒有這種屬性的元素?夥計們,發佈一個答案,所以我可以加上你。 – d33tah