我正在尝试在任何特定网页上解析img,它工作正常,除了我只想传递宽度值或更高的img。 例如,如果 img 的宽度大于 300px,我们应该包含图像的 url,如果没有,我们不应该将其包含在数组中。
# sort all the images and make absolute url path & check for http
product_url = "http://example.com/product.htm"
Nokogiri::HTML(open(product_url)).xpath("//img/@src").each do |src|
uri = make_absolute(src,product_url)
@all_image_urls << uri
end
我尝试过这样的事情,但没有运气
# sort all the images and make absolute url path & check for http
product_url = "http://example.com/product.htm"
Nokogiri::HTML(open(product_url)).xpath("//img[:width > 100]/@src").each do |src|
uri = make_absolute(src,product_url)
@all_image_urls << uri
end
我遇到的问题是对图像大小的实际过滤。 由于这甚至可能在HTML级别不可用,我们该如何做到这一点?我们可以像这样获得图像的尺寸然后过滤吗?
我目前正在尝试在它到达视图/演示逻辑之前解决这个服务器端。
试试这个
doc = Nokogiri::HTML(open(product_url))
@all_image_urls = doc.css('img').select{|img| img[:src] if img[:width].to_i > 100}