【发布时间】:2015-06-29 04:50:45
【问题描述】:
我正在使用 Nokogiri 解析一些 HTML:
doc = Nokogiri::HTML(open(url))
doc.css('.blockGroup--posts .block')[2..30].each do |article|
title = article.at('h2').text # or h3, h4
image = article.at('.section-content img')['src'] # may not exist
问题是有时标题可能会出现在h2或h4标签中,所以
title = article.at('h2').text
会报告
undefined method `text' for nil:NilClass
image 也是如此。有时候文章没有图片,也会报错。
如何让 Nokogiri 获得这些元素并继续运行?或者如果这些元素不存在,我可以使用回调吗?
【问题讨论】:
-
欢迎来到 Stack Overflow。请提供与您的问题相匹配的最小 HTML 示例。这有助于我们帮助您。不这样做会浪费我们的时间,因为我们试图从头开始创造一些东西。 “寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题是没有用的给其他读者。见:How to create a Minimal, Complete, and Verifiable example。”
标签: ruby-on-rails ruby exception-handling nokogiri