我正在尝试解析任何特定网页上的img,这工作正常,但我只想传递宽度值或更高的imgs。例如,如果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级别上使用,我们怎么能这样做呢?我们可以像这样得到图像的尺寸然后过滤吗?
我目前正在尝试解决此服务器端,然后才能访问视图/表示逻辑。
答案 0 :(得分:4)
试试这个
doc = Nokogiri::HTML(open(product_url))
@all_image_urls = doc.css('img').select{|img| img[:src] if img[:width].to_i > 100}