imagesize gemを使用してリモート画像のサイズを確認し、十分な大きさの画像のみを配列にプッシュしています。
require 'open-uri'
require 'image_size'
data = Nokogiri::HTML(open(url))
images = []
forcenocache = Time.now.to_i # No cache because jquery load event doesn't fire for cached images
data.css("img").each do |image|
image_path = URI.join(site, URI.encode(image[:src]))
open(image_path, "rb") do |fh|
image_size = ImageSize.new(fh.read).get_size()
unless image_size[0] < 200 || image_size[1] < 100
image_element = "<img src=\"#{image_path}?#{forcenocache}\">"
images.push(image_element)
end
end
end
フロントエンドでJSを使用して画像のサイズを確認しようとしましたが、一度に読み込むことができる画像の数にはブラウザの制限があるようです。
imagesizeでそれを行うことは、JSを使用するよりもはるかに遅いです。これを行うためのより良い、より速い方法はありますか?