首页 > 解决方案 > 查找包含文本的子节点的父节点

问题描述

我有这样的结构:

div
    div
       span **text NAME_OF_SOMETHINK**
    div
       span **text ADVERT**
div
   ...
      ...
div
   ...
      ...

如果相对 div 的跨度包含文本 > ADVERT,我需要从跨度中提取文本 >NAME_OF_SOMETHINK

标签: xpathscrapy

解决方案


你可以尝试这样的事情:

response.xpath(
    "//div[contains(., 'ADVERT')]/../preceding-sibling::div/span[contains(., 'NAME_OF_SOMETHINK')]/text()"
).getall()

推荐阅读