Я пытаюсь скрести сайты из http://expo.getbootstrap.com/
Как получить атрибут HREF привязанного тега?
HTML, как это:
<div class="col-span-4">
<p>
<a class="thumbnail" target="_blank" href="https://www.getsentry.com/">
<img src="/screenshots/sentry.jpg">
</a>
</p>
</div>
Мой Nokogiri-код:
url = "http://expo.getbootstrap.com/"
doc = Nokogiri::HTML(open(url))
puts doc.css("title").text
doc.css(".col-span-4").each do |site|
title=site.css("h4 a").text
href = site.css("a.thumbnail")[0]['href']
end
Цель проста, получить href
, <img>
тег href
и <title>
, но он сохраняет отчетность:
undefined method [] for nil:NilClass
в строке:
href = site.css("a.thumbnail")[0]['href']
Это действительно сводит меня с ума, потому что код, который я написал здесь на самом деле работает в другой ситуации.
Что происходит, если вы пытаетесь site.css ("a.thumbnail ") ['href'] или site.css (" a.thumbnail ") ['href'] [0]? – Bala
Он сообщает 'не может преобразовать String в Integer' в обеих ситуациях – cqcn1991