xpath不包含A和B.

时间:2015-01-27 05:09:54

标签: python xpath scrapy

我该如何添加? not(contains(.,'facebook')not(contains(.,'twitter')到我的xpath。

sites = selector.xpath("//h3[@class='r']/a[@href[not(contains(.,'google')   )]]/@href")

我想在其中找到不包含googlefacebooktwitter的网址 请帮帮我,谢谢

1 个答案:

答案 0 :(得分:2)

您可以使用and加入条件:

//h3[@class='r']/a[not(contains(@href,'google')) and not(contains(@href,'facebook')) and not(contains(@href,'twitter'))]/@href")

或者,使用Selector实例上提供的.re() method

selector.xpath("//h3[@class='r']/a/@href").re('^(?!.*(google|facebook|twitter)).*$')

此外,您可以使用re:test() function

selector.xpath("//h3[@class='r']/a[not(re:test(@href, '(google|facebook|twitter)'))]/@href")