使用Nokogiri从HTML中删除所有外部资源

时间:2012-03-16 11:09:34

标签: ruby nokogiri

我想从html文件中删除所有外部资源。 我正在使用wget制作页面的一些本地副本。 Wget有将链接转换为本地文件系统的选项,这是相当不错的,但仍然有一些链接(在我认为下载深度的末尾)保留其外部src,因此它们包含http。

我能找到包含http的所有内容的最接近的是:

doc.search(“// * [starts-with(@href,'http')]”)

但是,这只是发现href元素和http也可以在图像,视频和任何东西中。 对于Nokogiri告诉我包含http的所有内容的任何想法是什么?

感谢。

1 个答案:

答案 0 :(得分:2)

如果您只想将搜索范围扩展为任何属性,以“http”开头的元素,您可以这样做:

doc.search("//*[@*[starts-with(.,'http')]]")