我正在尝试从网页中提取所有文本,但是边栏及其所有子项中没有信息。我也不想在脚本,样式或标题中包含文本。对于样式和脚本,以下工作:
.xpath('//*[not(self::script or self::style or self::head)]/text()[normalize-space(.)]').extract()
对于侧边栏,我已经从相反的方向开始,并且我设法仅获得了侧边栏信息,如下所示:
.xpath('//*/div[@class="sidebar section"]//text()[normalize-space(.)]').extract()
我尝试将其合并,但是像这样我仍然可以获得侧边栏信息,而其他尝试都抛出了语法错误:
.xpath('//*[not(self::script or self::style or self::head or div[@class="sidebar section"])]/text()[normalize-space(.)]').extract()
有什么想法如何将它们结合在一起以使其起作用?