如何使用XPath从子节点获取文本,如果它是Scrapy中其他节点的父节点

Pra*_*mod 5 html python xpath scrapy

我面临一个问题,我必须从子节点获取结果,该子节点可能是也可能不是其他节点的父节点,在 Scrapy 中使用 Xpath。考虑这样的情况

<h1 class="main">
 <span class="child">data</span>
</h1>
Run Code Online (Sandbox Code Playgroud)

或者

<h1 class="main">
<span class="child">
 <span class="child2">data</span>
</span>
</h1>
Run Code Online (Sandbox Code Playgroud)

我的解决方案是 response.xpath(".//h1[@class='main']/span/text()").extract()

Anz*_*zel 3

使用//text,它将返回span中列表中的所有文本元素,包括父元素和子元素:

response.xpath(".//h1[@class='main']/span//text()").extract()
Run Code Online (Sandbox Code Playgroud)