使用 Nokogiri 和 Rails 按宽度或高度维度解析页面 img



我正在尝试在任何特定网页上解析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}

相关内容

  • 没有找到相关文章

最新更新