我试图刮去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
它报告'不能将字符串转换为Integer'在这两种情况下 – cqcn1991