0

各州に報奨金の合計額を取得して表示する基本的なスクレーパーを作成していますが、理解できないエラーが発生します。私のプログラムを修正するのを手伝ってくれませんか?

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 ': nil:NilClass(NoMethodError) の未定義のメソッド '[]'

4

2 に答える 2

0

あなたは何も得ていませんCrack::XML.parse(open(URL).read)

nilしたがって、値にアクセスしようとしていますundefined method '[]' for nil:NilClass

最初に実際にファイルを取得していることを確認してください。

于 2013-07-24T18:05:40.530 に答える
0

何をCrack::XML.parse(open(URL).read)返すかを確認する

于 2013-07-24T18:03:23.363 に答える