Denis Antonov
Denis Antonov

Reputation: 29

TypeError while working with Nokogiri

Nokogiri returns me a page of code:

<a href="/yakutsk/search/%D0%A1%D0%BA%D0%BE%D1%80%D0%B0%D1%8F%20%D0%BC%D0%B5%D0%B4%D0%B8%D1%86%D0%B8%D0%BD%D1%81%D0%BA%D0%B0%D1%8F%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C/rubricId/7036994676850915/tab/firms?queryState=zoom%2F11" class="link _scheme_none rubricsList__listItemLinkTitle">Скорая медицинская помощь</a>
<a href="/yakutsk/search/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%BE-%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5%20%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8/rubricId/7036994676850839/tab/firms?queryState=zoom%2F11" class="link _scheme_none rubricsList__listItemLinkTitle">Справочно-информационные услуги</a>
<a href="/yakutsk/search/%D0%90%D0%B2%D0%B0%D1%80%D0%B8%D0%B9%D0%BD%D1%8B%D0%B5%20%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D1%8B/rubricId/7036994676850810/tab/firms?queryState=zoom%2F11" class="link _scheme_none rubricsList__listItemLinkTitle">Аварийные службы</a>
<a href="/yakutsk/search/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%93%D0%9E%20%D0%B8%20%D0%A7%D0%A1/rubricId/7036994676851395/tab/firms?queryState=zoom%2F11" class="link _scheme_none rubricsList__listItemLinkTitle">Управление ГО и ЧС</a>

As you see there only links with hrefs. And I want get it href content. And if I try to do so:

data1 = data.css("li")
data2 = data1.css("a")

puts data2["href"]

I got an error:

test.rb:93:in `[]': no implicit conversion of String into Integer (TypeError)

Why? Sure I can get href content with simple RegExp. But there is a simple way I see.

Upvotes: 0

Views: 119

Answers (1)

Denis Antonov
Denis Antonov

Reputation: 29

When I added:

data2.each { |x|
      puts x["href"]
}

I got the results. Simple. Too simple.

Upvotes: 1

Related Questions