2013-07-24 3 views
0

Я создаю базовый скребок, который получает общее количество рельефа, вознагражденное каждому состоянию, а затем отображает его, но я получаю ошибку, которую я не понимаю. Можете ли вы помочь мне исправить мою программу, пожалуйста?Ошибка в первой попытке Рубиновый webcrawler

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 

гь: 7: в ': неопределенный метод '[]' для ноль: NilClass (NoMethodError)

ответ

0

Проверить, что Crack::XML.parse(open(URL).read) вернуться

0

Вы ничего не получаете назад от Crack::XML.parse(open(URL).read)

Вы пытаетесь получить доступ к значениям от nil, следовательно undefined method '[]' for nil:NilClass

Убедитесь, что вы actua сначала получить файл.

Смежные вопросы