如何在Ruby on Rails中使用Nokogiri从HTML中找到具有代表性的图像



我需要放弃使用xsltproc命令行工具在Heroku上进行部署,因为它们并不真正支持它。Nokogiri宝石看起来应该为我需要的一切工作,尽管我很难从HTML中找到代表性图像。

我所说的代表性图像是指/html/body下的所有图像中,链接中包含"://",而链接中没有"ads."或"ad."或"?"。是否有Nokogiri函数可以做到这一点,可能会返回所有图像的数组,并且我可以按照我想要的方式过滤它们?

下面的XPath应该选择符合指定条件的图像:

/html/body//img[@src[contains(.,'://') 
                     and not(contains(.,'ads.') 
                             or contains(.,'ad.') 
                             or contains(.,'?')
                            )
                     ]
                ][1]

你可以这样使用:

doc.xpath("/html/body//img[@src[contains(.,'://') 
       and not(contains(.,'ads.') or contains(.,'ad.') or contains(.,'?'))]][1]")

看来您需要阅读有关XPath的内容。这是一个非常好的(和简单的)教程

相关内容

  • 没有找到相关文章

最新更新