2013-10-17 64 views
1

我得到這樣的結果從HTTP頁面,如:通過Nokogiri從HTTP GET響應主體獲取價值?

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Captchaservice</title> 

    </head> 
    <body> 
    15 
    </body> 
</html> 

而且我用這個代碼引入nokogiri:

doc = Nokogiri::HTML(response) 
id = doc.xpath('//').text 

,但我得到\n 15 \n

我試着寫:

id = doc.xpath('//').text.to_i 

我得到這個值,但是當我使用這個ID時,得到:

undefined method `empty?' for 15:Fixnum 

我在做什麼錯,我該如何獲得這個整數值?

回答

2

這是因爲您的idFixnum類的實例(因爲id由於doc.xpath('//').text.to_i而存在值15)。並且Fixnum類沒有#empty?方法。所以如果你想做空測試,那麼做id = doc.xpath('//').text.strip。現在您的id將具有字符串實例,即'15'。在此您可以撥打#empty?方法。當你需要使用整數值時,只需要id.to_i並使用它。

+0

和做什麼) – brabertaser19

+0

我不需要空 – brabertaser19

+0

@ brabertaser1992你在你的代碼中使用了任何id.empty的地方,但你的id是15而不是'15',因此你得到錯誤'未定義的方法'空?'爲15:Fixnum'。 –