Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xpath 查找包含文本的子节点的父节点_Xpath_Scrapy - Fatal编程技术网

Xpath 查找包含文本的子节点的父节点

Xpath 查找包含文本的子节点的父节点,xpath,scrapy,Xpath,Scrapy,我有这样的结构: div div span **text NAME_OF_SOMETHINK** div span **text ADVERT** div ... ... div ... ... response.xpath( "//div[contains(., 'ADVERT')]/../preceding-sibling::div/span[contains(., 'NAME_OF_SOME

我有这样的结构:

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

我需要从span中提取text>NAME\u OF_SOMETHINK,如果relative div的span中包含text>ADVERT

您可以尝试以下方法:

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

请提供html代码。还显示您是如何尝试对响应中的字段执行类似的
操作的。xpath(//div[@class=''uAWWM2V']/div”):如果在field.xpath中使用'ADVERT'。xpath(“child::div/span[@class'.\u1K70KJVN']/text()”。get():ADVERT\u providers=field.xpath(“child::span[@class='.\uHC69QA']/text()”。get()。