Nokogiri - 返回过滤的数组

时间:2014-07-30 21:56:27

标签: ruby nokogiri

是否可以只返回实际的图像源链接,而不是整个nokogiri数组对象?

def self.images(url)
  doc = Nokogiri::HTML(open(url))
  images = doc.css('img[src$="jpg"], img[src$="png"]').select do |image|
    image['src'] =~ %r{^http://(\d+|media)}
  end
  images
end

1 个答案:

答案 0 :(得分:0)

尝试使用Array#map将元素数组转换为包含所有src属性的数组。

def self.images(url)
  doc = Nokogiri::HTML(open(url))
  doc.css('img[src$="jpg"], img[src$="png"]').select do |image|
    image['src'] =~ %r{^http://(\d+|media)}
  end.map { |i| i['src'] }
end