我需要放弃使用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的内容。这是一个非常好的(和简单的)教程