从xpath片段中只提取一个部分

2024-10-03 09:14:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用xpath从web页面中提取信息,但是我得到的信息是错误的。在下面的代码中,我想得到100

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

我只想得到100,我试过了,但它返回£0.64 100。但是,我只想检索100

^{pr2}$

有什么帮助吗?在


Tags: 代码divweb信息title错误页面xpath
3条回答

你不能把结果分开,然后取最后一个元素吗?在

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

Xpath支持节点索引,因此您只需将[last()]或{}添加到Xpath中:

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

您可以尝试在XPath表达式下面只获取"100"

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

另外,我想只有2个文本节点("£0.64""100"),而你只是错过了结束标记。。。在

相关问题 更多 >