有条件的XPath语句



这是我想从:

中提取信息的一部分
  <li>
    <p><strong class="more-details-section-header">Provenance</strong></p>
    <p>Galerie Max Hetzler, Berlin<br>Acquired from the above by the present owner</p>
  </li>

我想拥有一个XPath表达式,该表达式提取第二个<p> ... </p>的内容,具体取决于<p> ... Provenance ... </p>

之前是否有兄弟姐妹

这是我到目前为止的地方:

if "Provenance" in response.xpath('//strong[@class="more-details-section-header"]/text()').extract():
            print("provenance = yes")

但是我如何到达Galerie Max Hetzler, Berlin<br>Acquired from the above by the present owner

我尝试了

if "Provenance" in response.xpath('//strong[@class="more-details-section-header"]/text()').extract():
            print("provenance = yes ", response.xpath('//strong[@class="more-details-section-header"]/following-sibling::p').extract())

但是正在获得[]

您应该使用

//p[preceding-sibling::p[1]/strong='Provenance']/text()

最新更新