Xpath表达式在Scrapy中不起作用

Xpath表达式在Scrapy中不起作用,xpath,scrapy,Xpath,Scrapy,您能帮助我理解为什么下面的Xpath表达式在Scrapy中不起作用吗 我得到了无效的Xpath //*[@id="Text_Body"//..[not(contains(@type,"text/css"))]/text() 上面的Xpath表达式在FireBug中工作。我在Xpath表达式中犯了一个错误,因为我忘记了我应该编写的 //*[@id="Text_Body"]//..[not(contains(@type,"text/css"))]/text() 我能够通过这种重新表述使其在Scr

您能帮助我理解为什么下面的Xpath表达式在Scrapy中不起作用吗

我得到了无效的Xpath

//*[@id="Text_Body"//..[not(contains(@type,"text/css"))]/text()

上面的Xpath表达式在FireBug中工作。

我在Xpath表达式中犯了一个错误,因为我忘记了我应该编写的

//*[@id="Text_Body"]//..[not(contains(@type,"text/css"))]/text()
我能够通过这种重新表述使其在Scrapy中工作:

//*[@id="Text_Body"]//text()[not(ancestor::style)]

你能发一些html吗?还有您尝试提取的示例。看起来]应该放在文本_Body之后,但需要XML和所需结果才能真正了解。[在..之后看起来也很奇怪。也许你的意思是//*[@id=Text\u Body][notcontains../@type,Text/css]/至少在语法上是正确的文本,但我需要更多的数据来真正了解您的意图。您的XPath表达式在Firebug中不起作用,因为它的格式不正确,任何XPath引擎都不会接受。那么,为什么您声称它起作用?请发布HTML。