我遇到了一个问题,我必须从子节点获取结果,该节点可能是也可能不是父节点到scrapy中使用Xpath的其他节点。考虑像
这样的情况<h1 class="main">
<span class="child">data</span>
</h1>
或
<h1 class="main">
<span class="child">
<span class="child2">data</span>
</span>
</h1>
我的解决方案是response.xpath(".//h1[@class='main']/span/text()").extract()
答案 0 :(得分:1)
使用//text
,它会返回 span 中父级和子级列表中列表中的所有文本元素:
response.xpath(".//h1[@class='main']/span//text()").extract()
答案 1 :(得分:1)
您可以使用:
response.xpath("string(.//h1[@class='main']/span)").extract()
response.xpath("string(.//h1[@class='main'])").extract()
如果您在整个标题文字之后