XPath选择下一个标签/ col

时间:2018-04-01 16:45:06

标签: html xml xpath scrapy

我正在尝试从html中的“Label:”中删除某些元素,例如“East to West”。

<div class="product-details">
  <dl>
    <dt>Label:</dt>
    <dd>
      East to West
      <br>
      </br>
    </dd>
    <dt>Subtitles:</dt>
    <dd>
      ----
      <br>
      </br> 
    </dd>
  </dl>
</div>

这是我在shell中测试的内容:

  

response.xpath('// dl [dt =   “标签:”。] /以下同胞::文本()')extract_first()

它只返回

'\r\n\t'

我已经深入研究了代码,但似乎“东西方”既不是“兄弟姐妹/孩子/后代”,也不会出现在“跟随”中。

我应该用什么来挑选正确的文字?

更详细的HTML代码: http://www.xpathtester.com/xpath/0a8c8acce7197b50c03b8f2c3bc3939d

1 个答案:

答案 0 :(得分:1)

这个XPath,

normalize-space((//dt[.="Label:"])[1]/following-sibling::dd[1])

将在第一个dd元素的dt元素之后立即选择空格规范化的字符串值,该元素的字符串值为&#34;标签:&#34;,

East to West

按要求。