首次尝试Ruby webcrawler时出错

时间:2013-07-24 17:57:07

标签: ruby

我正在创建一个基本的刮刀,它可以获得每个状态的总救济金额,然后显示它,但是我收到了一个我不明白的错误。你能帮我解决一下我的计划吗?

require 'rubygems'
require 'crack'
require 'open-uri'

URL = 'http://www.recovery.gov/pages/GetXmlData.aspx?data=recipientHomeMap'

Crack::XML.parse(open(URL).read)['totals']['state'].each do |state|
  puts ['id', 'awarded', 'received', 'jobs'].map{|f| state[f]}.join(', ')
end

rb:7:in':undefined method'[]'for nil:NilClass(NoMethodError)

2 个答案:

答案 0 :(得分:0)

检查Crack::XML.parse(open(URL).read)返回

的内容

答案 1 :(得分:0)

你没有从Crack::XML.parse(open(URL).read)

收到任何回复

您正尝试访问nil的值,因此undefined method '[]' for nil:NilClass

确保您实际上是首先获取文件。