从xpath scrapy中只提取一部分

时间:2017-03-29 13:39:29

标签: python xpath scrapy

我想从xpath中提取网页信息,但我收到了错误的信息。在下面的代码中,我想获得100

<div class="pricing">
 <p class="pricePerUnit">
  <p class="pricePerMeasure">
  £0.64
  <abbr title="per">/</abbr>
  100

我想只获得100,我尝试了这个,但它会返回£0.64 100。但是,我只想检索100

`prices_mesure3 = `response.xpath('//p[@class="pricePerMeasure"]/text()').extract()`

请帮忙吗?

3 个答案:

答案 0 :(得分:1)

Xpath支持节点索引,因此您只需将[last()][2]添加到xpath:

In: response.xpath('//p[@class="pricePerMeasure"]/text()[last()]').extract_first()
Out: u'\n  100 '

答案 1 :(得分:0)

您可以在XPath表达式下方尝试仅获取"100"

//p[@class="pricePerMeasure"]/text()[last()]

P.S。我想只有2个文本节点("£0.64""100"),你只是错过了结束标签......

答案 2 :(得分:0)

难道你不能只分割结果然后取最后一个元素吗?

prices_mesure3 = response.xpath('//p[@class="pricePerMeasure"]/text()').extract()[0].split()[-1]