我想从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()`
请帮忙吗?
答案 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]