Я пытаюсь очистить содержимое веб-сайта для создания экземпляров объектов из данных, и у меня возникает проблема с неработающей ссылкой на странице, которую я очищаю. Я хочу выяснить, как я могу просто не выполнять итерацию по этой ссылке и избежать ее полного удаления.
Я пытался использовать это, но это не сработало:
name = li.css("strong a").text.strip unless li.nil?
url = li.css("a")[0].attr("href") unless li.nil?
Player.new(name,url)
class HomepageScraper
BASE_URL = "https://www.nba.com/history/nba-at-50/top-50-players"
def self.scrape_players
page = open(BASE_URL)
parsed_HTML = Nokogiri::HTML(page)
name_lis = parsed_HTML.css("div.field-item li")
name_lis.each do |li|
name = li.css("strong a").text.strip
url = li.css("a")[0].attr("href")
Player.new(name,url)
end
end
end
Я ожидал, что пример вывода будет:
@name = "Shaquille o neal", @url = "www.nba..."
Но получил:
@name = "Shaquille o neal", @url = nil
Сообщение об ошибке:
undefined method `attr' for nil:NilClass (NoMethodError)