2012-03-16 37 views
0

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

我能得到查找包含HTTP一切最接近的是使用这样的:

doc.search( “// * [开始,用(@href, 'HTTP')”)

但是,这只是发现href元素和http也可以在图像,视频和任何东西。 任何想法什么是正确的指示Nokogiri告诉我一切包含http?

谢谢。

回答

2

如果你只是想扩大搜索范围,与元素的任何属性开始以“http”你可以这样做:

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

您好,感谢这么多!为了我的需要,我不得不改变它以获取包含http的所有内容。但是你的代码让我进入了轨道。我现在正在使用doc.search(“// @ * [starts-with(。,'http')]” – Pod 2012-03-16 14:36:43

+0

不同之处在于我的XPath语句(错误类型现已修复)会查找所有*元素* 'http',而你自己只能找到*属性节点*两者都可以,这取决于你以后会怎么做。 – 2012-03-16 16:20:14