Python 如何在lxml中使用cssselect选择具有确切类的元素?

Python 如何在lxml中使用cssselect选择具有确切类的元素?,python,web-scraping,lxml,Python,Web Scraping,Lxml,我正在用lxml html抓取一个网页,但我遇到了一个问题。 例如,当我选择HTML时: html.cssselect('a.asig') 我必须获得class=asig的元素,但选择也会打印其id中包含asig的元素,例如: <a class="asig drcha" ...> 我该怎么做才能只获取带有asig的元素,而不获取包含asig的元素? 谢谢 使用html.xpath并进行相应调整,或者在声明要定位的类时非常隐式。请参阅下面的代码 from lxml import

我正在用lxml html抓取一个网页,但我遇到了一个问题。 例如,当我选择HTML时:

 html.cssselect('a.asig')
我必须获得class=asig的元素,但选择也会打印其id中包含asig的元素,例如:

<a class="asig drcha" ...>
我该怎么做才能只获取带有asig的元素,而不获取包含asig的元素? 谢谢

使用html.xpath并进行相应调整,或者在声明要定位的类时非常隐式。请参阅下面的代码

from lxml import html

sample = '<?xml version="1.0" encoding="UTF-8"?><root><a class="asig">I am the correct one.</a><a class="asig drcha">I am the wrong one.</a></root>'
tree = html.fromstring(sample)
print tree.xpath("//a[@class='asig']/text()")[0]
print tree.cssselect("a[class='asig']")[0].text
请注意在最后一行中如何使用cssselect。希望这有帮助。

使用html.xpath并进行相应调整,或者在声明要定位的类时非常隐式。请参阅下面的代码

from lxml import html

sample = '<?xml version="1.0" encoding="UTF-8"?><root><a class="asig">I am the correct one.</a><a class="asig drcha">I am the wrong one.</a></root>'
tree = html.fromstring(sample)
print tree.xpath("//a[@class='asig']/text()")[0]
print tree.cssselect("a[class='asig']")[0].text
请注意在最后一行中如何使用cssselect。希望这有帮助