for link in hxs.select("//a[contains(@href,'/women-')]"):
if ('.a[notcontains(@href,"/women-shoes")]'):
self.log("LINKS2 :: %s" % attribute::href())
第一个语句是在其网址中选择包含/women-
的所有超链接。基本上我想在其网址中选择/women-
但不是/women-shoes
的所有链接。
for
循环本身。我正在寻找循环条件中not
运算符的正确用法。此外,/women-
的所有链接,然后在if条件中我想检查网址中的链接是否没有/women-shoes
,该怎么做我这样做?答案 0 :(得分:1)
我认为它会更加优化,因为它会看到第一个url不包含/ women-shoes然后检查它是否包含/ women-:
queryStr = "//a[not(contains(@href,'/women-shoes')) and contains(@href,'/women-') ]
答案 1 :(得分:0)
为什么不在查询中进行过滤?
queryStr = "//a[contains(@href,'/women-') and not(contains(@href,'/women-shoes'))]"
for link in hxs.select(queryStr):
self.log("LINKS2 :: %s" % attribute::href())