2017-03-29 57 views
-1

我想從網頁中提取xpath的信息,但是我收到了錯誤的信息。在這段代碼下面我想100只從xpath中提取一個部分scrapy

<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()` 

請幫忙嗎?

+1

您可以添加結束標記的HTML,請。 – Henry

回答

1

XPath支持節點索引,所以你可以添加[last()][2]到您的XPath:

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

謝謝@Granitosaurus!它工作 –

+0

你能幫我解決另一個問題@Granitosaurus好嗎?! –

+0

@uzumaki_naruto當然,另一個問題是什麼? – Granitosaurus

0

你可以試試下面XPath表達得到"100"

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

附:我想只有2個文本節點("£0.64""100"),你只是錯過了結束標籤...

0

難道你只是拆分結果,然後採取最後一個元素?

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