通过Nokogiri从HTTP GET响应机构获取价值?

时间:2013-10-17 15:29:54

标签: ruby nokogiri

我从HTTP页面获得此结果,如:

<!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

我做错了什么以及如何获得此整数值?

1 个答案:

答案 0 :(得分:2)

这是因为您的idFixnum类的实例(由于iddoc.xpath('//').text.to_i保留了值15)。并且Fixnum类没有#empty?方法。因此,如果要进行空测试,请执行id = doc.xpath('//').text.strip。现在,您的id将拥有一个字符串实例,即'15'。在此,您可以调用#empty?方法。当你需要使用整数值时,只需要id.to_i并使用它。