我的html看起来像这样:
<h1>Text 1</h1>
<div>Some info</div>
<h1>Text 2</h1>
<div>...</div>
我理解如何使用h1:
中的scrapy信息进行提取content.select("//h1[contains(text(),'Text 1')]/text()").extract()
但我的目标是从<div>Some info</div>
我的问题是我没有关于div的任何具体信息。所有我所知道的,它完全在<h1>Text 1</h1>
之后。我可以使用选择器在树中获取NEXT元素吗?元素,位于DOM树中的同一级别?
类似的东西:
a = content.select("//h1[contains(text(),'Text 1')]/text()")
a.next("//div/text()").extract()
Some info
答案 0 :(得分:16)
试试这个xpath
:
//h1[contains(text(), 'Text 1')]/following-sibling::div[1]/text()